* fix #383:
- 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:
+11
-8
@@ -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
@@ -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 = '.'):
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user