From 811fcd320f591236e4aa1aea0e9676974d8fcd59 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Thu, 24 Sep 2015 22:40:49 -0700 Subject: [PATCH] rewritemeta: add -l option to list files --- completion/bash-completion | 4 ++-- fdroidserver/rewritemeta.py | 20 ++++++++++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/completion/bash-completion b/completion/bash-completion index 97d46056..09683437 100644 --- a/completion/bash-completion +++ b/completion/bash-completion @@ -184,8 +184,8 @@ __complete_readmeta() { } __complete_rewritemeta() { - opts="-v -q" - lopts="--verbose --quiet" + opts="-v -q -l" + lopts="--verbose --quiet --list" case "${cur}" in -*) __complete_options diff --git a/fdroidserver/rewritemeta.py b/fdroidserver/rewritemeta.py index ecf685be..7ae9f9d5 100644 --- a/fdroidserver/rewritemeta.py +++ b/fdroidserver/rewritemeta.py @@ -20,6 +20,8 @@ from argparse import ArgumentParser import logging +import StringIO + import common import metadata @@ -34,6 +36,8 @@ def main(): # Parse command line... parser = ArgumentParser(usage="%(prog)s [options] [APPID [APPID ...]]") common.setup_global_opts(parser) + parser.add_argument("-l", "--list", action="store_true", default=False, + help="List files that would be reformatted") parser.add_argument("appid", nargs='*', help="app-id in the form APPID") options = parser.parse_args() @@ -51,8 +55,20 @@ def main(): % (ext.upper(), metadatapath)) continue logging.debug("Rewriting " + metadatapath) - with open(metadatapath, 'w') as f: - metadata.write_metadata(f, app) + if options.list: + s = StringIO.StringIO() + # TODO: currently reading entire file again, should reuse first + # read in metadata.py + with open(metadatapath, 'r') as f: + cur_content = f.read() + metadata.write_metadata(s, app) + content = s.getvalue() + s.close() + if content != cur_content: + print(metadatapath) + else: + with open(metadatapath, 'w') as f: + metadata.write_metadata(f, app) logging.debug("Finished.") -- 2.30.2