From 83f2427f0d9378eb25c894648873738dea6a97a4 Mon Sep 17 00:00:00 2001 From: davidovski Date: Sun, 16 Jan 2022 01:59:07 +0000 Subject: merged updating and syncing --- src/verbs/update.py | 37 +++++++------------------------------ 1 file changed, 7 insertions(+), 30 deletions(-) (limited to 'src/verbs/update.py') diff --git a/src/verbs/update.py b/src/verbs/update.py index 6fe89f6..5b7a49f 100644 --- a/src/verbs/update.py +++ b/src/verbs/update.py @@ -3,46 +3,23 @@ import util import colors import time -from verbs.install import find_package, install_multiple +from verbs.install import find_package, install from verbs.sync import sync VERSION_COMPARED = "CHECKSUM" -def get_installed_versions(config, root="/"): - packages = {} - +def get_installed_list(config, root="/"): installed_dir = util.add_path(root, config["dir"]["installed"]) if os.path.exists(installed_dir): files = os.listdir(installed_dir) - for package in files: - with open(util.add_path(installed_dir, package, "info")) as file: - for line in file: - if line.startswith(VERSION_COMPARED): - packages[package] = line.strip().split("=")[-1] + return files + return [] - return packages -def get_available_version(package_name, config, root="/"): - repos = config["repos"] - packages_dir = config["dir"]["packages"] - sources = config["sources"] - checksum, found_sources, requested_repo, size, files = find_package(package_name, repos, packages_dir, sources) - return checksum - def update(args, options, config): if not options["l"]: sync(args, options, config) - v = options["v"] - - updates = [package for package,checksum in get_installed_versions(config, options["r"]).items() if not checksum == get_available_version(package, config, options["r"])] - - if len(args) > 0: - updates = [update for update in updates if update in args] - - if len(updates) > 0: - install_multiple(updates, args, options, config, terminology=("update", "updated", "updating")) - else: - print(colors.LIGHT_RED + "Nothing to do") - - + packages = [package for package in get_installed_list(config, options["r"]) if len(args) == 0 or package in args] + options["l"] = True + install(packages, options, config) -- cgit v1.2.1