- initialize db for info command
  - files.xml are not stored for non-installed packages
  - take that into account in info options
This commit is contained in:
Eray Özkural
2005-08-18 13:34:29 +00:00
parent f71edb60f4
commit e7c24822b8
2 changed files with 18 additions and 10 deletions
+11 -8
View File
@@ -435,7 +435,7 @@ Usage: info <package1> <package2> ... <packagen>
self.help() self.help()
return return
self.init() self.init(True)
for arg in self.args: for arg in self.args:
self.printinfo(arg) self.printinfo(arg)
self.finalize() self.finalize()
@@ -446,13 +446,16 @@ Usage: info <package1> <package2> ... <packagen>
metadata, files = pisi.toplevel.info(arg) metadata, files = pisi.toplevel.info(arg)
print metadata.package print metadata.package
if self.options.files or self.options.files_path: if self.options.files or self.options.files_path:
print if files:
print 'Files:' print
for fileinfo in files.list: print 'Files:'
if self.options.files: for fileinfo in files.list:
print fileinfo if self.options.files:
else: print fileinfo
print fileinfo.path else:
print fileinfo.path
else:
print 'File information not available'
class Index(Command): class Index(Command):
+7 -2
View File
@@ -358,6 +358,7 @@ def info_file(package):
return package.metadata, package.files return package.metadata, package.files
def info_name(package_name): def info_name(package_name):
"""fetch package information for a package"""
if packagedb.has_package(package_name): if packagedb.has_package(package_name):
package = packagedb.get_package(package_name) package = packagedb.get_package(package_name)
from pisi.metadata import MetaData from pisi.metadata import MetaData
@@ -365,10 +366,14 @@ def info_name(package_name):
metadata.package = package metadata.package = package
#FIXME: get it from sourcedb #FIXME: get it from sourcedb
metadata.source = None 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 return metadata, files
else: else:
raise Error('Package %s not installed' % package_name) raise Error('Package %s not found' % package_name)
def index(repo_dir = '.'): def index(repo_dir = '.'):