diff options
Diffstat (limited to 'utils/pkgman.py')
| -rwxr-xr-x | utils/pkgman.py | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/utils/pkgman.py b/utils/pkgman.py deleted file mode 100755 index 0e7388f..0000000 --- a/utils/pkgman.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env python -import argparse -import asyncio -import os -import pathlib - -try: - import pkgbuild -except ModuleNotFoundError: - import utils.pkgbuild as pkgbuild - - -async def fetch_and_get(_remote_addr: str): - raise NotImplementedError("TODO!") - - -async def show_diff(database: str, path: str) -> None: - pkg_dir = pathlib.Path(os.getcwd()).joinpath(path).resolve() - database_result = pkgbuild.fetch_database(database) - pending = [] - for package in await pkgbuild.fetch_packages_from_directory(pkg_dir): - if (package := package.result()).name in database_result: - if database_result[package.name] < package.version: - pending.append(package) - else: - pending.append(package) - for package in pending: - print(package.name, package.version) - - -async def main(args: argparse.Namespace): - if args.sub == "show": - print(pkgbuild.fetch_database(args.database)) - elif args.sub == "show_local": - pkg_dir = pathlib.Path(os.getcwd()).joinpath(args.path).resolve() - for package in await pkgbuild.fetch_packages_from_directory(pkg_dir): - print(package.result()) - elif args.sub == "show_internet": - await fetch_and_get(args.database) - elif args.sub == 'diff': - await show_diff(args.database, args.path) - - -if __name__ == '__main__': - parser = argparse.ArgumentParser('pkgman.py') - sub = parser.add_subparsers(title="subcommand", dest="sub") - decmp_parser = sub.add_parser("show", description="Show databases") - decmp_parser.add_argument("database") - - local_show_parser = sub.add_parser("show_local") - local_show_parser.add_argument("path", default="./repo") - - decmp_online_parser = sub.add_parser("show_internet", description="Show remote databases") - decmp_online_parser.add_argument("database") - - show_diff_parser = sub.add_parser("diff") - show_diff_parser.add_argument("database") - show_diff_parser.add_argument("path") - - args_ = parser.parse_args() - asyncio.run(main(args_)) |
