* tons of unicode printing fixes

This commit is contained in:
Eray Özkural
2005-10-05 10:32:36 +00:00
parent e5280f5518
commit 4127f9daec
4 changed files with 51 additions and 48 deletions
+20 -18
View File
@@ -54,7 +54,7 @@ def init(database = True, options = None, ui = None, comar = True):
ctx.comard = comar.Link() ctx.comard = comar.Link()
except ImportError: except ImportError:
raise Error(_("COMAR: comard not fully installed")) raise Error(_("COMAR: comard not fully installed"))
print _("skipping COMAR connection for now...") #print _("skipping COMAR connection for now...")
except comar.Error: except comar.Error:
raise Error(_("COMAR: comard not running or defunct")) raise Error(_("COMAR: comard not running or defunct"))
@@ -178,7 +178,7 @@ def install_pkg_files(package_URIs):
# find the "install closure" graph of G_f by package # find the "install closure" graph of G_f by package
# set A using packagedb # set A using packagedb
print A #print A
for x in A: for x in A:
G_f.add_package(x) G_f.add_package(x)
B = A B = A
@@ -187,19 +187,20 @@ def install_pkg_files(package_URIs):
Bp = set() Bp = set()
for x in B: for x in B:
pkg = packagedb.get_package(x) pkg = packagedb.get_package(x)
print pkg #print pkg
for dep in pkg.runtimeDeps: for dep in pkg.runtimeDeps:
print 'checking ', dep #print 'checking ', dep
if dependency.dict_satisfies_dep(d_t, dep): if dependency.dict_satisfies_dep(d_t, dep):
if not dep.package in G_f.vertices(): if not dep.package in G_f.vertices():
Bp.add(str(dep.package)) Bp.add(str(dep.package))
G_f.add_dep(x, dep) G_f.add_dep(x, dep)
B = Bp B = Bp
G_f.write_graphviz(sys.stdout) if ctx.config.get_option('debug'):
G_f.write_graphviz(sys.stdout)
order = G_f.topological_sort() order = G_f.topological_sort()
order.reverse() order.reverse()
print order #if ctx.config.get_option('debug'):
# print 'installation order', order
for x in order: for x in order:
operations.install_single_file(dfn[x]) operations.install_single_file(dfn[x])
else: else:
@@ -225,7 +226,7 @@ def install_pkg_names(A):
# find the "install closure" graph of G_f by package # find the "install closure" graph of G_f by package
# set A using packagedb # set A using packagedb
print A #print A
for x in A: for x in A:
G_f.add_package(x) G_f.add_package(x)
B = A B = A
@@ -234,7 +235,7 @@ def install_pkg_names(A):
Bp = set() Bp = set()
for x in B: for x in B:
pkg = packagedb.get_package(x) pkg = packagedb.get_package(x)
print pkg #print pkg
for dep in pkg.runtimeDeps: for dep in pkg.runtimeDeps:
ctx.ui.debug('checking %s' % str(dep)) ctx.ui.debug('checking %s' % str(dep))
# we don't deal with already *satisfied* dependencies # we don't deal with already *satisfied* dependencies
@@ -243,10 +244,11 @@ def install_pkg_names(A):
Bp.add(str(dep.package)) Bp.add(str(dep.package))
G_f.add_dep(x, dep) G_f.add_dep(x, dep)
B = Bp B = Bp
G_f.write_graphviz(sys.stdout) if ctx.config.get_option('debug'):
#G_f.write_graphviz(sys.stdout)
order = G_f.topological_sort() order = G_f.topological_sort()
order.reverse() order.reverse()
print order #print order
for x in order: for x in order:
operations.install_single_name(x) operations.install_single_name(x)
@@ -275,7 +277,7 @@ def package_graph(A, ignore_installed = False):
Bp = set() Bp = set()
for x in B: for x in B:
pkg = packagedb.get_package(x) pkg = packagedb.get_package(x)
print pkg #print pkg
for dep in pkg.runtimeDeps: for dep in pkg.runtimeDeps:
if ignore_installed: if ignore_installed:
if dependency.installed_satisfies_dep(dep): if dependency.installed_satisfies_dep(dep):
@@ -345,7 +347,7 @@ def upgrade_pkg_names(A):
Bp = set() Bp = set()
for x in B: for x in B:
pkg = packagedb.get_package(x) pkg = packagedb.get_package(x)
print pkg #print pkg
for dep in pkg.runtimeDeps: for dep in pkg.runtimeDeps:
#print 'checking ', dep #print 'checking ', dep
# add packages that can be upgraded # add packages that can be upgraded
@@ -368,7 +370,7 @@ def upgrade_pkg_names(A):
G_f.write_graphviz(sys.stdout) G_f.write_graphviz(sys.stdout)
order = G_f.topological_sort() order = G_f.topological_sort()
order.reverse() order.reverse()
print order #print order
for x in order: for x in order:
operations.install_single_name(x, True) operations.install_single_name(x, True)
@@ -418,7 +420,7 @@ def remove(A):
# find the (install closure) graph of G_f by package # find the (install closure) graph of G_f by package
# set A using packagedb # set A using packagedb
print A #print A
for x in A: for x in A:
G_f.add_package(x) G_f.add_package(x)
B = A B = A
@@ -453,7 +455,7 @@ def configure_pending():
# start with pending packages # start with pending packages
# configure them in reverse topological order of dependency # configure them in reverse topological order of dependency
A = ctx.installdb.list_pending() A = ctx.installdb.list_pending()
print A #print A
G_f = pgraph.PGraph(packagedb) # construct G_f G_f = pgraph.PGraph(packagedb) # construct G_f
for x in A: for x in A:
G_f.add_package(x) G_f.add_package(x)
@@ -463,7 +465,7 @@ def configure_pending():
Bp = set() Bp = set()
for x in B: for x in B:
pkg = packagedb.get_package(x) pkg = packagedb.get_package(x)
print pkg #print pkg
for dep in pkg.runtimeDeps: for dep in pkg.runtimeDeps:
if dep.package in G_f.vertices(): if dep.package in G_f.vertices():
G_f.add_dep(x, dep) G_f.add_dep(x, dep)
@@ -471,7 +473,7 @@ def configure_pending():
G_f.write_graphviz(sys.stdout) G_f.write_graphviz(sys.stdout)
order = G_f.topological_sort() order = G_f.topological_sort()
order.reverse() order.reverse()
print order #print order
for x in order: for x in order:
comariface.run_postinstall(x) comariface.run_postinstall(x)
+4
View File
@@ -34,6 +34,10 @@ class Exception(pisi.Exception):
pass pass
def printu(msg):
msg.encode('utf-8')
class CLI(UI): class CLI(UI):
"Command Line Interface" "Command Line Interface"
+23 -25
View File
@@ -45,7 +45,7 @@ class Command(object):
return Command.cmd_dict[cmd]() return Command.cmd_dict[cmd]()
if fail: if fail:
print _("Unrecognized command: "), cmd ctx.ui.info(_("Unrecognized command: ") + cmd)
sys.exit(1) sys.exit(1)
else: else:
return None return None
@@ -139,13 +139,12 @@ class Command(object):
def help(self): def help(self):
"""print help for the command""" """print help for the command"""
ctx.ui.info(self.format_name() + ': ') ctx.ui.info(self.format_name() + ': ')
print getattr(self, "__doc__") ctx.ui.info(getattr(self, "__doc__") + '\n')
print ctx.ui.info(self.parser.format_option_help())
print self.parser.format_option_help()
def die(self): def die(self):
"""exit program""" """exit program"""
print _('Program terminated abnormally.') ctx.ui.error(_('Program terminated abnormally.'))
sys.exit(-1) sys.exit(-1)
@@ -187,7 +186,7 @@ If run without parameters, it prints the general help.""")
def run(self): def run(self):
if not self.args: if not self.args:
self.parser.set_usage(usage_text) self.parser.set_usage(usage_text)
self.parser.print_help() ctx.ui.info(self.parser.format_help())
return return
self.init() self.init()
@@ -195,7 +194,7 @@ If run without parameters, it prints the general help.""")
for arg in self.args: for arg in self.args:
obj = Command.get_command(arg, True) obj = Command.get_command(arg, True)
obj.help() obj.help()
print ctx.ui.info('')
self.finalize() self.finalize()
@@ -463,18 +462,17 @@ Usage: info <package1> <package2> ... <packagen>
import os.path import os.path
metadata, files = pisi.api.info(arg) metadata, files = pisi.api.info(arg)
print metadata.package ctx.ui.info(str(metadata.package))
if self.options.files or self.options.files_path: if self.options.files or self.options.files_path:
if files: if files:
print ctx.ui.info(_('\nFiles:'))
print 'Files:'
for fileinfo in files.list: for fileinfo in files.list:
if self.options.files: if self.options.files:
print fileinfo print fileinfo
else: else:
print fileinfo.path print fileinfo.path
else: else:
print _('File information not available') ctx.ui.warning(_('File information not available'))
class Index(Command): class Index(Command):
@@ -506,10 +504,10 @@ source and binary packages.
if len(self.args)==1: if len(self.args)==1:
index(self.args[0]) index(self.args[0])
elif len(self.args)==0: elif len(self.args)==0:
print _('Indexing current directory.') ctx.ui.info( _('Indexing current directory.'))
index() index()
else: else:
print _('Indexing only a single directory supported.') ctx.ui.info( _('Indexing only a single directory supported.'))
return return
self.finalize() self.finalize()
@@ -539,18 +537,18 @@ Usage: list-installed
list = ctx.installdb.list_installed() list = ctx.installdb.list_installed()
list.sort() list.sort()
if self.options.install_info: if self.options.install_info:
print _('Package Name |St| Version| Rel.| Build| Distro| Date') ctx.ui.info(_('Package Name |St| Version| Rel.| Build| Distro| Date'))
print '========================================================================' print '========================================================================'
for pkg in list: for pkg in list:
package = pisi.packagedb.inst_packagedb.get_package(pkg) package = pisi.packagedb.inst_packagedb.get_package(pkg)
inst_info = ctx.installdb.get_info(pkg) inst_info = ctx.installdb.get_info(pkg)
if self.options.long: if self.options.long:
print package ctx.ui.info(package)
print inst_info ctx.ui.info(inst_info)
elif self.options.install_info: elif self.options.install_info:
print '%-15s | %s ' % (package.name, inst_info.one_liner()) ctx.ui.info('%-15s | %s ' % (package.name, inst_info.one_liner()))
else: else:
print '%15s - %s ' % (package.name, package.summary) ctx.ui.info('%15s - %s ' % (package.name, package.summary))
self.finalize() self.finalize()
@@ -654,7 +652,7 @@ Lists currently tracked repositories.
self.init() self.init()
for repo in ctx.repodb.list(): for repo in ctx.repodb.list():
print repo ctx.ui.info(repo)
print ' ', ctx.repodb.get_repo(repo).indexuri.get_uri() print ' ', ctx.repodb.get_repo(repo).indexuri.get_uri()
self.finalize() self.finalize()
@@ -726,18 +724,18 @@ Usage: list-upgrades [ <repo1> <repo2> ... repon ]
list = pisi.api.list_upgradable() list = pisi.api.list_upgradable()
list.sort() list.sort()
if self.options.install_info: if self.options.install_info:
print _('Package Name |St| Version| Rel.| Build| Distro| Date') ctx.ui.info(_('Package Name |St| Version| Rel.| Build| Distro| Date'))
print '========================================================================' print '========================================================================'
for pkg in list: for pkg in list:
package = pisi.packagedb.inst_packagedb.get_package(pkg) package = pisi.packagedb.inst_packagedb.get_package(pkg)
inst_info = ctx.installdb.get_info(pkg) inst_info = ctx.installdb.get_info(pkg)
if self.options.long: if self.options.long:
print package ctx.ui.info(package)
print inst_info print inst_info
elif self.options.install_info: elif self.options.install_info:
print '%-15s | %s ' % (package.name, inst_info.one_liner()) ctx.ui.info('%-15s | %s ' % (package.name, inst_info.one_liner()))
else: else:
print '%15s - %s ' % (package.name, package.summary) ctx.ui.info('%15s - %s ' % (package.name, package.summary))
self.finalize() self.finalize()
+4 -5
View File
@@ -80,21 +80,20 @@ class PisiCLI(object):
try: try:
args = self.parser.parse_args() args = self.parser.parse_args()
if len(args)==0: # more explicit than using IndexError if len(args)==0: # more explicit than using IndexError
print _('No command given') printu(_('No command given'))
self.die() self.die()
cmd_name = args[0] cmd_name = args[0]
except ParserError: except ParserError:
print _('Command line parsing error') printu(_('Command line parsing error'))
self.die() self.die()
self.command = Command.get_command(cmd_name) self.command = Command.get_command(cmd_name)
if not self.command: if not self.command:
str = _("Unrecognized command: %s") % cmd_name printu(_("Unrecognized command: %s") % cmd_name)
print str.encode('utf-8')
self.die() self.die()
def die(self): def die(self):
self.parser.print_help() printu(self.parser.format_help())
sys.exit(1) sys.exit(1)
def run_command(self): def run_command(self):