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()