[prev in list] [next in list] [prev in thread] [next in thread]
List: moblin-commits
Subject: [Moblin-Commits] moblin-image-creator: Changes to 'master'
From: mitsutaka () moblin ! org (Mitsutaka)
Date: 2008-06-10 8:53:26
Message-ID: 20080610085326.5347992C1A0 () moblin ! org
[Download RAW message or body]
This email list is read-only. Emails sent to this list will be discarded
----------------------------------
debian/changelog | 1 +
gui/gui.py | 231 +++++++++++++++++++---------------------
gui/image-creator.glade | 2 -
image-creator | 262 +++++++++++++++++++++++----------------------
libs/InstallImage.py | 103 +++++++++---------
libs/Platform.py | 39 ++++---
libs/Project.py | 93 ++++++++--------
libs/SDK.py | 69 ++++++------
libs/fsets.py | 13 ++-
libs/mic_cfg.py | 23 +++--
libs/moblin_apt.py | 45 ++++----
libs/moblin_yum.py | 33 +++---
libs/pdk_utils.py | 29 +++---
po/POTFILES.in | 14 +++
utils/create-rootstrap.py | 11 ++-
utils/jailroot-reset.py | 13 ++-
16 files changed, 509 insertions(+), 472 deletions(-)
New commits:
commit 7b14de2d732a59418349e1d7f1a42352ec4f312f
Author: Mitsutaka Amano <mamano@miraclelinux.com>
Date: Tue Jun 10 17:50:34 2008 +0900
Supported the internationalization.
[TODO] I'll add ja.po file. It's base of some language po files.
Diff in this email is a maximum of 400 lines.
diff --git a/debian/changelog b/debian/changelog
index a209723..1bcc9a6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -48,6 +48,7 @@ moblin-image-creator (0.45) UNRELEASED; urgency=low
[ Mitsutaka Amano ]
* Supported autotools for preparing the internationalization.
+ * Supported the internationalization.
-- Prajwal Mohan <prajwal@linux.intel.com> Wed, 28 May 2008 22:29:09 +0900
diff --git a/gui/gui.py b/gui/gui.py
index 6776ca5..7cbdf2b 100644
--- a/gui/gui.py
+++ b/gui/gui.py
@@ -20,8 +20,6 @@ import gettext
import gnome
import gobject
import gtk
-import gtk.glade
-import locale
import os
import pygtk
import re
@@ -41,17 +39,6 @@ debug = False
if mic_cfg.config.has_option('general', 'debug'):
debug = int(mic_cfg.config.get('general', 'debug'))
-# Initial stuff for Internationlization and Localization support.
-# Locale stuff
-# Set the locale to always be the 'C' locale, since we have are not yet using
-# internationalization
-locale.setlocale(locale.LC_ALL, 'C')
-USER_LOCALE = locale.getlocale(locale.LC_ALL)
-
-# More info: http://docs.python.org/lib/i18n.html
-gettext.bindtextdomain('pdk', '/usr/share/pdk/locale')
-gettext.textdomain('pdk')
-gettext.install('pdk', '/usr/share/pdk/locale')
_ = gettext.lgettext
mountedDirs = set()
@@ -62,13 +49,13 @@ class term_mic(Thread):
self.app = micApp
def run(self):
- print "Unmounting all mounted directories..."
+ print _("Unmounting all mounted directories...")
global mountedDirs
directory_set = self.sdk.umount()
if directory_set:
- print "Could not unmount these dirs: %s" % directory_set
+ print _("Could not unmount these dirs: %s") % directory_set
mountedDirs = directory_set.copy()
- print "Unmounting complete"
+ print _("Unmounting complete")
class App(object):
@@ -149,7 +136,7 @@ class App(object):
error_message = ""
for proj in obsolete_projects:
error_message = error_message + " " + proj
- self.show_error_dialog("Found unsupported project(s): %s\nskipping them" \
% error_message) + self.show_error_dialog(_("Found unsupported project(s): \
%s\nskipping them") % error_message)
def run(self):
gtk.main()
@@ -162,13 +149,13 @@ class App(object):
term_thread.start()
widgets = gtk.glade.XML(self.gladefile, 'error_dialog')
- widgets.get_widget('error_label').set_text("Please wait while MIC attempts \
to unmount all projects and targets...") + \
widgets.get_widget('error_label').set_text(_("Please wait while MIC attempts to \
unmount all projects and targets...")) dialog = widgets.get_widget('error_dialog')
vbox = widgets.get_widget('vbox18')
progressbar = gtk.ProgressBar()
vbox.pack_start(progressbar)
dialog.connect('delete_event', self.ignore)
- dialog.set_title("Closing Image-Creator")
+ dialog.set_title(_("Closing Image-Creator"))
ok_button = widgets.get_widget('okbutton4')
ok_button.set_sensitive(False)
dialog.show_all()
@@ -187,7 +174,7 @@ class App(object):
def newFeatureDialog(self):
if self.pygtkOldVersion == True:
- self.show_error_dialog("You are using an old version of PyGTK. Image \
Creator required atleast PyGTK 2.12. Some features will be disabled") + \
self.show_error_dialog(_("You are using an old version of PyGTK. Image Creator \
required atleast PyGTK 2.12. Some features will be disabled")) return
if os.path.isfile("/usr/share/pdk/newFeature"):
newFeatureTree = gtk.glade.XML(self.gladefile, 'newFeature')
@@ -295,7 +282,7 @@ class App(object):
def stop_progress(self, widget, cancelData):
#self.stopTest = True
tree = gtk.glade.XML(self.gladefile, 'qDialog')
- tree.get_widget('queryLabel').set_text("Are you sure you want to cancel \
project creation?") + tree.get_widget('queryLabel').set_text(_("Are you sure \
you want to cancel project creation?")) \
tree.get_widget('cancelbutton2').set_label("gtk-no") \
tree.get_widget('okbutton2').set_label("gtk-yes") dialog = \
tree.get_widget('qDialog') @@ -307,7 +294,7 @@ class App(object):
for child in child_list:
if child != cur_pid:
os.kill(child, signal.SIGKILL)
- print "Canceled Function was %s and cancel type was %s" % (cancelData[0], \
cancelData[1]) + print _("Canceled Function was %s and cancel type was %s") % \
(cancelData[0], cancelData[1])
def on_new_project_clicked(self, widget):
@@ -328,20 +315,20 @@ class App(object):
platform = dialog.platform
path = os.path.realpath(os.path.abspath(os.path.expanduser(dialog.path)))
if not dialog.name or not dialog.desc or not dialog.platform or not \
dialog.path:
- self.show_error_dialog("All values must be specified")
+ self.show_error_dialog(_("All values must be specified"))
continue
if name in self.sdk.projects:
- self.show_error_dialog("Project already exists with the name: %s" % \
name) + self.show_error_dialog(_("Project already exists with the \
name: %s") % name) continue
# If the path specified doesn't exist yet, then that is okay.
if not os.path.exists(path):
break
if not os.path.isdir(path):
- self.show_error_dialog("Path: %s exists but is not a directory" % \
path) + self.show_error_dialog(_("Path: %s exists but is not a \
directory") % path) continue
# Make sure that the directory specified is empty
if len(os.listdir(path)):
- self.show_error_dialog("Path: %s is a directory which is NOT empty" \
% path) + self.show_error_dialog(_("Path: %s is a directory which is \
NOT empty") % path) continue
break
if result == gtk.RESPONSE_OK:
@@ -363,17 +350,17 @@ class App(object):
try:
proj = self.sdk.create_project(dialog.path, dialog.name, \
dialog.desc, self.sdk.platforms[platformName]) except ValueError:
- print "Project Creation cancelled"
+ print _("Project Creation cancelled")
progress_dialog.destroy()
return
if proj.install() == False:
- print "Project Creation cancelled"
+ print _("Project Creation cancelled")
progress_dialog.destroy()
try:
- print "Trying to cleanup"
+ print _("Trying to cleanup")
self.sdk.delete_project(dialog.name)
except:
- print "could not cleanup project"
+ print _("could not cleanup project")
# if the project creation failed before the list of
# projects has been updated, then we expect failure here
pass
@@ -419,7 +406,7 @@ class App(object):
def on_projectDelete_clicked(self, event):
"""Delete a Project"""
model, treePathList = self.projectView.get_selection().get_selected_rows()
- deleteConfirmationText = "Delete Project(s)?\n"
+ deleteConfirmationText = _("Delete Project(s)?\n")
for item in treePathList:
deleteConfirmationText += " %s " % model[item][0]
tree = gtk.glade.XML(self.gladefile, 'qDialog')
@@ -462,12 +449,12 @@ class App(object):
dialog.destroy()
if result == gtk.RESPONSE_OK:
if not target_name:
- self.show_error_dialog("Must specify a target name")
+ self.show_error_dialog(_("Must specify a target name"))
elif target_name in self.current_project().targets:
- self.show_error_dialog("Target: %s already exists" % \
target_name) + self.show_error_dialog(_("Target: %s already \
exists") % target_name) elif re.search(r'[^-_a-zA-Z0-9]', target_name):
target_name = re.sub(r'[^-_a-zA-Z0-9]', '', target_name)
- self.show_error_dialog("Target names can only contain \
alpha/numeric characters, hyphen and underscore") + \
self.show_error_dialog(_("Target names can only contain alpha/numeric characters, \
hyphen and underscore")) else:
self.create_new_target(self.current_project(), target_name)
break
@@ -550,20 +537,20 @@ class App(object):
iter = list.append([fset_name])
buttonName = fset_name + " (" + platform.fset[fset_name].desc + ")"
self.fsetTouple.append((fset_name, gtk.CheckButton(buttonName), False, \
0))
- toolTipText = "<b>Depends on FSet(s):</b> "
+ toolTipText = _("<b>Depends on FSet(s):</b> ")
for depends in sorted(platform.fset[fset_name].deps):
toolTipText += " %s " % depends
- toolTipText += "\n<b>Debug Packages:</b> "
+ toolTipText += _("\n<b>Debug Packages:</b> ")
for debug_pkgs in sorted(platform.fset[fset_name].debug_pkgs):
toolTipText += " %s " % debug_pkgs
- toolTipText += "\n<b>Packages:</b> "
+ toolTipText += _("\n<b>Packages:</b> ")
for pkgs in sorted(platform.fset[fset_name].pkgs):
toolTipText += " %s " % pkgs
if self.pygtkOldVersion == False:
self.fsetTouple[i][1].set_tooltip_markup(toolTipText)
i += 1
if not iter:
- self.show_error_dialog("Nothing available to install!")
+ self.show_error_dialog(_("Nothing available to install!"))
dialog.destroy()
return
self.fsetTouple.pop(0)
@@ -581,7 +568,7 @@ class App(object):
for fsetName in self.fsetTouple:
if fsetName[2] == True:
numFsetsToInstall = numFsetsToInstall + 1
- print "Number of fsets to install: %s" % numFsetsToInstall
+ print _("Number of fsets to install: %s") % numFsetsToInstall
if numFsetsToInstall != 0:
dialog.destroy()
@@ -590,8 +577,8 @@ class App(object):
fsetToInstall.append(fsetName[0])
break
else:
- print "No fset selected"
- self.show_error_dialog("Please Choose an Fset")
+ print _("No fset selected")
+ self.show_error_dialog(_("Please Choose an Fset"))
else:
break
dialog.destroy()
@@ -601,17 +588,17 @@ class App(object):
platformName = self.current_project().platform.name
fsetsToInstall, debug_pkgs = self.setup_fsets_dialog(widget, platformName)
if fsetsToInstall:
- print "Debug packages = %s" % debug_pkgs
+ print _("Debug packages = %s") % debug_pkgs
platform = self.current_project().platform
progress_tree = gtk.glade.XML(self.gladefile, 'ProgressDialog')
progress_dialog = progress_tree.get_widget('ProgressDialog')
progress_dialog.connect('delete_event', self.ignore)
self.progressbar = progress_tree.get_widget('progressbar')
for fsetName in fsetsToInstall:
- #print "Installing: %s" % fset
+ #print _("Installing: %s") % fset
fset = platform.fset[fsetName]
- print "Installing fset %s.................\n" % fsetName
- progress_tree.get_widget('progress_label').set_text("Please wait \
while installing %s" % fset.name) + print _("Installing fset \
%s.................\n") % fsetName + \
progress_tree.get_widget('progress_label').set_text(_("Please wait while installing \
%s") % fset.name) try:
self.current_target().installFset(fset, fsets = platform.fset, \
debug_pkgs = debug_pkgs) except ValueError, e:
@@ -619,7 +606,7 @@ class App(object):
except:
traceback.print_exc()
if debug: print_exc_plus()
- self.show_error_dialog("Unexpected error: %s" % \
(sys.exc_info()[1])) + self.show_error_dialog(_("Unexpected error: \
%s") % (sys.exc_info()[1])) self.redraw_target_view()
progress_dialog.destroy()
@@ -627,8 +614,8 @@ class App(object):
return True
def set_status_label(self, newLabel):
- print "Setting new status label: %s" % newLabel
- self.statuslabel.set_text("Current action: %s" % newLabel)
+ print _("Setting new status label: %s") % newLabel
+ self.statuslabel.set_text(_("Current action: %s") % newLabel)
def gui_throbber(self, process):
self.progressbar.pulse()
@@ -643,13 +630,13 @@ class App(object):
def on_delete_target_clicked(self, widget):
model, treePathList = self.targetView.get_selection().get_selected_rows()
- deleteConfirmationText = "Delete Target(s)?\n"
+ deleteConfirmationText = _("Delete Target(s)?\n")
for item in treePathList:
deleteConfirmationText += " %s " % model[item][0]
tree = gtk.glade.XML(self.gladefile, 'qDialog')
tree.get_widget('queryLabel').set_text(deleteConfirmationText)
dialog = tree.get_widget('qDialog')
- dialog.set_title("Delete Target")
+ dialog.set_title(_("Delete Target"))
result = dialog.run()
dialog.destroy()
if result == gtk.RESPONSE_OK:
@@ -716,7 +703,7 @@ class App(object):
self.targetList.remove(self.targetList.get_iter(item))
self.targetView.get_selection().handler_unblock(self.targetView_handler)
- def show_error_dialog(self, message="An unknown error has occurred!"):
+ def show_error_dialog(self, message= _("An unknown error has occurred!")):
widgets = gtk.glade.XML(self.gladefile, 'error_dialog')
widgets.get_widget('error_label').set_text(message)
dialog = widgets.get_widget('error_dialog')
@@ -725,12 +712,12 @@ class App(object):
def show_umount_error_dialog(self, directory_list = []):
widgets = gtk.glade.XML(self.gladefile, 'error_dialog_umount')
- #widgets.get_widget('error_label').set_text("Could not unmount the following \
directories:") + #widgets.get_widget('error_label').set_text(_("Could not \
unmount the following directories:")) dirTree = widgets.get_widget('umount_dirs')
dialog = widgets.get_widget('error_dialog_umount')
dirList = gtk.ListStore(gobject.TYPE_STRING)
cellRenderC0 = gtk.CellRendererText()
- col0 = gtk.TreeViewColumn("Directory List", cellRenderC0)
+ col0 = gtk.TreeViewColumn(_("Directory List"), cellRenderC0)
dirTree.append_column(col0)
col0.add_attribute(cellRenderC0, 'text', 0)
col0.set_resizable(True)
@@ -746,7 +733,7 @@ class App(object):
prompt_file = open(os.path.join(project_path, "etc/debian_chroot"), 'w')
print >> prompt_file, "P: %s" % project_name
prompt_file.close()
- print "Project path: %s" % project_path
+ print _("Project path: %s") % project_path
cmd = '/usr/bin/gnome-terminal -x /usr/sbin/chroot %s env -u SHELL \
HOME=/root su -p - &' % (project_path) print cmd
os.system(cmd)
@@ -759,7 +746,7 @@ class App(object):
prompt_file = open(os.path.join(target_path, "etc/debian_chroot"), 'w')
print >> prompt_file, "T: %s" % target.name
prompt_file.close()
- print "Target path: %s" % target_path
+ print _("Target path: %s") % target_path
cmd = '/usr/bin/gnome-terminal -x /usr/sbin/chroot %s env -u SHELL \
HOME=/root su -p - &' % (target_path) print cmd
os.system(cmd)
@@ -791,7 +778,7 @@ class App(object):
progress_tree = gtk.glade.XML(self.gladefile, 'ProgressDialog')
progress_dialog = progress_tree.get_widget('ProgressDialog')
progress_dialog.connect('delete_event', self.ignore)
- progress_tree.get_widget('progress_label').set_text("Please wait while \
while creating %s" % img_name) + \
progress_tree.get_widget('progress_label').set_text(_("Please wait while while \
creating %s") % img_name) self.progressbar = progress_tree.get_widget('progressbar')
try:
self.current_project().create_live_usb(target.name, img_name)
@@ -811,7 +798,7 @@ class App(object):
progress_tree = gtk.glade.XML(self.gladefile, 'ProgressDialog')
progress_dialog = progress_tree.get_widget('ProgressDialog')
progress_dialog.connect('delete_event', self.ignore)
- progress_tree.get_widget('progress_label').set_text("Please wait while \
creating %s" % img_name) + \
progress_tree.get_widget('progress_label').set_text(_("Please wait while creating \
%s") % img_name) self.progressbar = progress_tree.get_widget('progressbar')
try:
self.current_project().create_live_usb(target.name, img_name, \
'EXT3FS') @@ -831,7 +818,7 @@ class App(object):
progress_tree = gtk.glade.XML(self.gladefile, 'ProgressDialog')
progress_dialog = progress_tree.get_widget('ProgressDialog')
progress_dialog.connect('delete_event', self.ignore)
- progress_tree.get_widget('progress_label').set_text("Please wait while \
creating %s" % img_name) + \
progress_tree.get_widget('progress_label').set_text(_("Please wait while creating \
%s") % img_name) self.progressbar = progress_tree.get_widget('progressbar')
try:
self.current_project().create_install_usb(target.name, img_name)
@@ -853,7 +840,7 @@ class App(object):
progress_tree = gtk.glade.XML(self.gladefile, 'ProgressDialog')
progress_dialog = progress_tree.get_widget('ProgressDialog')
progress_dialog.connect('delete_event', self.ignore)
- progress_tree.get_widget('progress_label').set_text("Please wait while \
creating %s" % img_name) + \
progress_tree.get_widget('progress_label').set_text(_("Please wait while creating \
%s") % img_name) self.progressbar = progress_tree.get_widget('progressbar')
try:
self.current_project().create_live_iso(target.name, img_name)
@@ -895,12 +882,12 @@ class App(object):
result = dialog.run()
if result == gtk.RESPONSE_CANCEL:
dialog.destroy()
- print "No target image selected!"
+ print _("No target image selected!")
return False
elif result == gtk.RESPONSE_OK:
image_filename = dialog.get_filename()
dialog.destroy()
- print "Selected file name: %s " % image_filename
+ print _("Selected file name: %s ") % image_filename
widgets = gtk.glade.XML(self.gladefile, 'select_usb_disk_dialog')
dialog2 = widgets.get_widget('select_usb_disk_dialog')
usb_dev_list = gtk.ListStore(gobject.TYPE_STRING)
@@ -922,7 +909,7 @@ class App(object):
return_code = False
if result == gtk.RESPONSE_CANCEL:
dialog2.destroy()
- print "No USB device selected!"
+ print _("No USB device selected!")
elif result == gtk.RESPONSE_OK:
model, iter = usb_disks.get_selection().get_selected()
dialog2.destroy()
@@ -930,26 +917,26 @@ class App(object):
self.show_error_dialog('No USB disk selected!')
else:
usb_disk = model[iter][0]
- print "Selected USB disk %s" % usb_disk
+ print _("Selected USB disk %s") % usb_disk
if not pdk_utils.umount_device(usb_disk):
- self.show_error_dialog("Can not umount %s. Please close any \
shells or opened files still under mount point and try again!" % usb_disk) + \
self.show_error_dialog(_("Can not umount %s. Please close any shells or opened files \
still under mount point and try again!") % usb_disk) return_code = False
else:
_______________________________________________
Commits mailing list
Commits@moblin.org
https://www.moblin.org/mailman/listinfo/commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic