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() return True def pkg_list(pm, descriptor = None): packages = pm.get_package_list() for package in packages: try: if descriptor is None or package.matches(descriptor): print package except InvalidDescriptor, e: