From: <kma...@us...> - 2007-01-16 15:36:57
|
Revision: 2175 http://svn.sourceforge.net/selinux/?rev=2175&view=rev Author: kmacmillan Date: 2007-01-16 07:36:53 -0800 (Tue, 16 Jan 2007) Log Message: ----------- Author: Daniel J Walsh Email: dw...@re... Subject: translation patch for semanage Date: Thu, 11 Jan 2007 09:09:42 -0500 This patch works around a unicode problem in python. Signed-off-by: Karl MacMillan <kma...@me...> Modified Paths: -------------- trunk/policycoreutils/semanage/semanage trunk/policycoreutils/semanage/seobject.py Modified: trunk/policycoreutils/semanage/semanage =================================================================== --- trunk/policycoreutils/semanage/semanage 2007-01-11 17:51:28 UTC (rev 2174) +++ trunk/policycoreutils/semanage/semanage 2007-01-16 15:36:53 UTC (rev 2175) @@ -23,12 +23,21 @@ import os, sys, getopt import seobject import selinux +PROGNAME="policycoreutils" + import gettext +gettext.bindtextdomain(PROGNAME, "/usr/share/locale") +gettext.textdomain(PROGNAME) +import codecs +import locale +sys.stderr = codecs.getwriter(locale.getpreferredencoding())(sys.__stderr__, 'replace') +sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.__stdout__, 'replace') try: - gettext.install('policycoreutils') -except: - pass + gettext.install(PROGNAME, localedir="/usr/share/locale", unicode=1) +except IOError: + import __builtin__ + __builtin__.__dict__['_'] = unicode is_mls_enabled=selinux.is_selinux_mls_enabled() Modified: trunk/policycoreutils/semanage/seobject.py =================================================================== --- trunk/policycoreutils/semanage/seobject.py 2007-01-11 17:51:28 UTC (rev 2174) +++ trunk/policycoreutils/semanage/seobject.py 2007-01-16 15:36:53 UTC (rev 2175) @@ -23,13 +23,16 @@ import pwd, string, selinux, tempfile, os, re, sys from semanage import *; +PROGNAME="policycoreutils" + import gettext - +gettext.bindtextdomain(PROGNAME, "/usr/share/locale") +gettext.textdomain(PROGNAME) try: - t = gettext.translation('policycoreutils', '/usr/share/locale') - _ = t.ugettext -except: - pass + gettext.install(PROGNAME, localedir="/usr/share/locale", unicode=1) +except IOError: + import __builtin__ + __builtin__.__dict__['_'] = unicode is_mls_enabled = selinux.is_selinux_mls_enabled() @@ -168,7 +171,7 @@ def list(self,heading = 1): if heading: - print "\n%-25s %s\n" % ("Level", "Translation") + print "\n%-25s %s\n" % (_("Level"), _("Translation")) keys = self.ddict.keys() keys.sort() for k in keys: @@ -288,10 +291,10 @@ raise ValueError(_("Could not add login mapping for %s") % name) except ValueError, error: - mylog.log(0, "add SELinux user mapping", name, sename, "", serange); + mylog.log(0, _("add SELinux user mapping"), name, sename, "", serange); raise error - mylog.log(1, "add SELinux user mapping", name, sename, "", serange); + mylog.log(1, _("add SELinux user mapping"), name, sename, "", serange); semanage_seuser_key_free(k) semanage_seuser_free(u) @@ -403,12 +406,12 @@ keys.sort() if is_mls_enabled == 1: if heading: - print "\n%-25s %-25s %-25s\n" % ("Login Name", "SELinux User", "MLS/MCS Range") + print "\n%-25s %-25s %-25s\n" % (_("Login Name"), _("SELinux User"), _("MLS/MCS Range")) for k in keys: print "%-25s %-25s %-25s" % (k, ddict[k][0], translate(ddict[k][1])) else: if heading: - print "\n%-25s %-25s\n" % ("Login Name", "SELinux User") + print "\n%-25s %-25s\n" % (_("Login Name"), _("SELinux User")) for k in keys: print "%-25s %-25s" % (k, ddict[k][0]) @@ -617,13 +620,13 @@ keys.sort() if is_mls_enabled == 1: if heading: - print "\n%-15s %-10s %-10s %-30s" % ("", "Labeling", "MLS/", "MLS/") - print "%-15s %-10s %-10s %-30s %s\n" % ("SELinux User", "Prefix", "MCS Level", "MCS Range", "SELinux Roles") + print "\n%-15s %-10s %-10s %-30s" % ("", _("Labeling"), _("MLS/"), _("MLS/")) + print "%-15s %-10s %-10s %-30s %s\n" % (_("SELinux User"), _("Prefix"), _("MCS Level"), _("MCS Range"), _("SELinux Roles")) for k in keys: print "%-15s %-10s %-10s %-30s %s" % (k, ddict[k][0], translate(ddict[k][1]), translate(ddict[k][2]), ddict[k][3]) else: if heading: - print "%-15s %s\n" % ("SELinux User", "SELinux Roles") + print "%-15s %s\n" % (_("SELinux User"), _("SELinux Roles")) for k in keys: print "%-15s %s" % (k, ddict[k][3]) @@ -832,7 +835,7 @@ def list(self, heading = 1): if heading: - print "%-30s %-8s %s\n" % ("SELinux Port Type", "Proto", "Port Number") + print "%-30s %-8s %s\n" % (_("SELinux Port Type"), _("Proto"), _("Port Number")) ddict = self.get_all_by_type() keys = ddict.keys() keys.sort() @@ -1002,7 +1005,7 @@ def list(self, heading = 1): if heading: - print "%-30s %s\n" % ("SELinux Interface", "Context") + print "%-30s %s\n" % (_("SELinux Interface"), _("Context")) ddict = self.get_all() keys = ddict.keys() keys.sort() @@ -1186,7 +1189,7 @@ def list(self, heading = 1): if heading: - print "%-50s %-18s %s\n" % ("SELinux fcontext", "type", "Context") + print "%-50s %-18s %s\n" % (_("SELinux fcontext"), _("type"), _("Context")) fcon_list = self.get_all() for fcon in fcon_list: if len(fcon) > 3: @@ -1284,7 +1287,7 @@ def list(self, heading = 1): if heading: - print "%-50s %-18s\n" % ("SELinux boolean", "value") + print "%-50s %-18s\n" % (_("SELinux boolean"), _("value")) ddict = self.get_all() keys = ddict.keys() for k in keys: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |