chiark / gitweb /
rewritemeta: add -l option to list files
authorDaniel Martí <mvdan@mvdan.cc>
Fri, 25 Sep 2015 05:40:49 +0000 (22:40 -0700)
committerDaniel Martí <mvdan@mvdan.cc>
Fri, 25 Sep 2015 05:54:52 +0000 (22:54 -0700)
completion/bash-completion
fdroidserver/rewritemeta.py

index 97d46056fee2c874225e20c63c44256e4898680d..09683437b717afe6302bc8e2bdcf4b2e81a0b268 100644 (file)
@@ -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
index ecf685be4984b1f55a6031c9b933e0f2c2edaebd..7ae9f9d5b2900f67323d780f00e6544fc6f2fad8 100644 (file)
@@ -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.")