From e7c24822b807228855dad5c52280f11fcef06d4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Thu, 18 Aug 2005 13:34:29 +0000 Subject: [PATCH] * fix #383: - initialize db for info command - files.xml are not stored for non-installed packages - take that into account in info options --- pisi/cli/commands.py | 19 +++++++++++-------- pisi/toplevel.py | 9 +++++++-- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/pisi/cli/commands.py b/pisi/cli/commands.py index 6320ec0b..7c5bac91 100644 --- a/pisi/cli/commands.py +++ b/pisi/cli/commands.py @@ -435,7 +435,7 @@ Usage: info ... self.help() return - self.init() + self.init(True) for arg in self.args: self.printinfo(arg) self.finalize() @@ -446,13 +446,16 @@ Usage: info ... metadata, files = pisi.toplevel.info(arg) print metadata.package if self.options.files or self.options.files_path: - print - print 'Files:' - for fileinfo in files.list: - if self.options.files: - print fileinfo - else: - print fileinfo.path + if files: + print + print 'Files:' + for fileinfo in files.list: + if self.options.files: + print fileinfo + else: + print fileinfo.path + else: + print 'File information not available' class Index(Command): diff --git a/pisi/toplevel.py b/pisi/toplevel.py index 3c6a121a..92225035 100644 --- a/pisi/toplevel.py +++ b/pisi/toplevel.py @@ -358,6 +358,7 @@ def info_file(package): return package.metadata, package.files def info_name(package_name): + """fetch package information for a package""" if packagedb.has_package(package_name): package = packagedb.get_package(package_name) from pisi.metadata import MetaData @@ -365,10 +366,14 @@ def info_name(package_name): metadata.package = package #FIXME: get it from sourcedb metadata.source = None - files = installdb.files(package.name) + #TODO: fetch the files from server if possible + if installdb.is_installed(package.name): + files = installdb.files(package.name) + else: + files = None return metadata, files else: - raise Error('Package %s not installed' % package_name) + raise Error('Package %s not found' % package_name) def index(repo_dir = '.'):