From: Daniel Martí Date: Fri, 25 Sep 2015 05:40:49 +0000 (-0700) Subject: rewritemeta: add -l option to list files X-Git-Tag: 0.5.0~73 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=811fcd320f591236e4aa1aea0e9676974d8fcd59;p=fdroidserver.git rewritemeta: add -l option to list files --- 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.")