From 5697c2ee3c34bc838bd2adcf7a5e985d31e9023b Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Wed, 8 Dec 2010 15:55:06 +0100 Subject: [PATCH] [services/entropy-pkgdelta-generator] add --quiet support --- services/entropy-pkgdelta-generator | 46 +++++++++++++++++++---------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/services/entropy-pkgdelta-generator b/services/entropy-pkgdelta-generator index 0d1e9dc7c..3e5a72ddc 100755 --- a/services/entropy-pkgdelta-generator +++ b/services/entropy-pkgdelta-generator @@ -15,11 +15,11 @@ import entropy.dep import entropy.tools -BSPATCH_EXEC = "/usr/bin/bspatch" - def generate_pkg_map(packages_directory): """ - + Generate handy hash table based on packages directory content. It will + be used by internal calling functions to determine the delta files that + have to be generated. """ pkg_map = {} for pkg_file in os.listdir(packages_directory): @@ -57,7 +57,7 @@ def sort_packages(pkg_map_items): -def generate_package_deltas(directory): +def generate_package_deltas(directory, quiet): """ Generate Entropy package delta files. """ @@ -73,7 +73,8 @@ def generate_package_deltas(directory): etpConst['packagesdeltasubdir'], delta_fn) delta_path_md5 = delta_path + etpConst['packagesmd5fileext'] if os.path.lexists(delta_path) and os.path.lexists(delta_path_md5): - sys.stderr.write(delta_path + " already exists\n") + if not quiet: + sys.stderr.write(delta_path + " already exists\n") continue delta_file = entropy.tools.generate_entropy_delta(pkg_path_a, next_pkg_path) @@ -81,7 +82,7 @@ def generate_package_deltas(directory): if delta_file is not None: sys.stdout.write(delta_file + "\n") -def cleanup_package_deltas(directory): +def cleanup_package_deltas(directory, quiet): """ Cleanup old Entropy package delta files. """ @@ -114,8 +115,9 @@ def cleanup_package_deltas(directory): os.remove(old_pkg_delta) sys.stdout.write(old_pkg_delta + " removed\n") except OSError as err: - sys.stderr.write("cannot remove %s: %s\n" % (old_pkg_delta, - err)) + if not quiet: + sys.stderr.write("cannot remove %s: %s\n" % (old_pkg_delta, + err)) rc = 1 try: os.remove(old_pkg_delta + etpConst['packagesmd5fileext']) @@ -123,17 +125,17 @@ def cleanup_package_deltas(directory): pass return rc -def _generator_argv(argv): +def _generator_argv(argv, quiet): for directory in argv: if os.path.isdir(directory): - generate_package_deltas(directory) + generate_package_deltas(directory, quiet) return 0 -def _cleanup_argv(argv): +def _cleanup_argv(argv, quiet): rc = 1 for directory in argv: if os.path.isdir(directory): - rc = cleanup_package_deltas(directory) + rc = cleanup_package_deltas(directory, quiet) return rc _cmds_map = { @@ -142,6 +144,18 @@ _cmds_map = { } def _opts_parser(args): + + # --quiet handler + quiet = False + for q_opt in ("-q", "--quiet"): + if q_opt in args: + quiet = True + while True: + try: + args.remove("--quiet") + except ValueError: + break + if not args: return None, [] cmd, argv = args[0], args[1:] @@ -150,20 +164,20 @@ def _opts_parser(args): func = _cmds_map.get(cmd) if func is None: return None, [] - return func, argv + return func, argv, quiet def _print_help(): sys.stdout.write( - "entropy-pkgdelta-generator [... ...]\n\n") + "entropy-pkgdelta-generator [-q (--quiet)] [... ...]\n\n") sys.stdout.write("available commands:\n") sys.stdout.write("\tgenerate\tgenerate pkgdelta files for given package directories\n") sys.stdout.write("\tcleanup\t\tclean pkgdelta files for unavailable packages\n\n") if __name__ == "__main__": - func, argv = _opts_parser(sys.argv[1:]) + func, argv, quiet = _opts_parser(sys.argv[1:]) if func is not None: - rc = func(argv) + rc = func(argv, quiet) else: _print_help() rc = 1