* tons of unicode printing fixes
This commit is contained in:
+20
-18
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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):
|
||||||
|
|||||||
Reference in New Issue
Block a user