chiark / gitweb /
rewritemeta only applies to the original .txt metadata format
authorHans-Christoph Steiner <hans@eds.org>
Wed, 5 Aug 2015 12:03:24 +0000 (14:03 +0200)
committerHans-Christoph Steiner <hans@eds.org>
Tue, 1 Sep 2015 09:53:37 +0000 (11:53 +0200)
docs/fdroid.texi
fdroidserver/rewritemeta.py

index ac79fde538923e65ac6f3f0ec70a6b02222b69b7..0c9f95f8f84934bacd6cccb1e41a0cf480d722cd 100644 (file)
@@ -450,19 +450,26 @@ always named as the application's package ID with '.txt' appended.
 Additionally, you can use JSON, XML, or YAML for app metadata, using
 the same fields as the original '.txt' format.
 
-Note that although the metadata files are designed to be easily read and
-writable by humans, they are also processed and written by various scripts.
-They are capable of rewriting the entire file when necessary. Even so,
-the structure and comments will be preserved correctly, although the order
-of fields will be standardised. (In the event that the original file was
-in a different order, comments are considered as being attached to the field
-following them). In fact, you can standardise all the metadata in a single
-command, without changing the functional content, by running:
+Note that although the metadata files are designed to be easily read
+and writable by humans, they are also processed and written by various
+scripts.  The original '.txt' format can be automatically cleaned up
+when necessary.  The structure and comments will be preserved
+correctly, although the order of fields will be standardised. (In the
+event that the original file was in a different order, comments are
+considered as being attached to the field following them). In fact,
+you can standardise all the '.txt' metadata in a single command,
+without changing the functional content, by running:
 
 @example
 fdroid rewritemeta
 @end example
 
+Or just run it on a specific app:
+
+@example
+fdroid rewritemeta org.adaway
+@end example
+
 The following sections describe the fields recognised within the file.
 
 @menu
index b097e53c68256563d6ac716e0b39fdba775e96bf..5f6f190e3f8e0dd73a82873cd3ef43d74600a7e4 100644 (file)
@@ -2,6 +2,7 @@
 # -*- coding: utf-8 -*-
 #
 # rewritemeta.py - part of the FDroid server tools
+# This cleans up the original .txt metadata file format.
 # Copyright (C) 2010-12, Ciaran Gultnieks, ciaran@ciarang.com
 #
 # This program is free software: you can redistribute it and/or modify
@@ -46,8 +47,14 @@ def main():
     apps = common.read_app_args(args, allapps, False)
 
     for appid, app in apps.iteritems():
-        logging.info("Writing " + appid)
-        metadata.write_metadata(os.path.join('metadata', appid) + '.txt', app)
+        metadatapath = app['metadatapath']
+        ext = os.path.splitext(metadatapath)[1][1:]
+        if ext == 'txt':
+            logging.info("Rewriting " + metadatapath)
+            metadata.write_metadata(metadatapath, app)
+        else:
+            logging.info("Ignoring %s file at '%s'"
+                         % (ext.upper(), metadatapath))
 
     logging.info("Finished.")