diff --git a/pisi/cli/commands.py b/pisi/cli/commands.py index 53cdae85..31c102a4 100644 --- a/pisi/cli/commands.py +++ b/pisi/cli/commands.py @@ -154,7 +154,7 @@ class Info(Command): def printinfo(self, arg): import os.path if os.path.exists(arg): - metadata, files = pisi.install.get_pkg_info(arg) + metadata, files = pisi.operations.info(arg) print metadata.package class Index(Command): diff --git a/pisi/install.py b/pisi/install.py index 2dff3255..1cbcb3fa 100644 --- a/pisi/install.py +++ b/pisi/install.py @@ -80,6 +80,9 @@ class Installer: # check dependencies if not dependency.installable(pkginfo.name): + ui.error('Dependencies for ' + pkginfo.name + + ' not satisfied\n') + raise InstallError("Package not installable") #TODO: diff --git a/pisi/operations.py b/pisi/operations.py index a8d5961a..c0110f5a 100644 --- a/pisi/operations.py +++ b/pisi/operations.py @@ -1,3 +1,5 @@ +from package import Package + # all package operation interfaces are here def remove(package_name): @@ -16,4 +18,9 @@ from install import Installer def install(package_name): i = Installer(package_name), i.install() +def info(package_name): + package = Package(package_name) + package.read() + return package.metadata, package.files + diff --git a/pisi/package.py b/pisi/package.py index 1256aa66..e2d26da6 100644 --- a/pisi/package.py +++ b/pisi/package.py @@ -69,7 +69,7 @@ class Package: self.extract_files([const.metadata_xml, const.files_xml], outdir) self.extract_dir('config', outdir) - def read_info(self, outdir = None): + def read(self, outdir = None): if not outdir: outdir = config.tmp_dir()