def find_installed_packages(package_specifier): r = [] cat = catalogue.read(catalogue_path) for package in cat[package_specifier.project]: if package_specifier.match(package): r.append(package) return r
def get_selected_packages(): installed = set(repository.get_packages()) segment = catalogue.read(segment_path) for project_id, packages in segment.items(): for package in packages: if package in installed: yield package
def uninstall(package_specifier): """Uninstall a package.""" packages = find_installed_packages(package_specifier) if packages: cat = catalogue.read(catalogue_path) for package in packages: select.deselect_package(package) uninstaller(package) cat[package.project.id].remove(package) catalogue.write(catalogue_path, cat) else: return error("Not installed.")
def get_packages(): r = [] cat = catalogue.read(catalogue_path) for project, packages in cat.items(): r.extend(packages) return r