示例#1
0
文件: pkg.py 项目: Letractively/spiff
    except Exception, e:
        print "Installation failed:", e
        return False
    return True


def pkg_remove(pm, descriptor):
    try:
        package = pm.get_package_from_descriptor(descriptor)
    except InvalidDescriptor, e:
        print e
        return False
    if package is None:
        print "Package %s not found in database" % descriptor
        return False
    depends = pm.get_package_list(depends = package)
    if len(depends) > 0:
        depend = ['%s=%s' % (d.get_handle(), d.get_version()) for d in depends]
        descr  = '%s=%s' % (package.get_handle(), package.get_version())
        print "Can't remove %s, because the following packages use it:" % descr
        print '\n'.join(depend)
        return False
    handle  = package.get_handle()
    version = package.get_version()
    print "Removing package %s %s as requested." % (handle, version)
    pm.remove_package(package)
    return True


def pkg_show(pm, package):
    package.dump()