def install_packages(packages, dependencies, context, logger=None): """ Install packages from, """ qi = getToolByName(context, "portal_quickinstaller") ordered = _order_packages(packages, dependencies) for dep in ordered: name = deps.get_package_name(dep["package"]) qi.installProduct(name, locked=dep["locked"], hidden=dep["hidden"], profile=dep["profile"]) if logger: logger.info("Installed %s" % name)
def uninstall_packages(packages, context, logger=None): """ Uninstall packages """ qi = getToolByName(context, "portal_quickinstaller") for package in packages: name = deps.get_package_name(package) if qi.isProductInstalled(name): # We could pass a list in here, but debugging # would be harder qi.uninstallProducts(products=[name]) if logger: logger.info("Uninstalled %s" % name)