rewritemeta only applies to the original .txt metadata format

This commit is contained in:
Hans-Christoph Steiner 2015-08-05 14:03:24 +02:00
parent 6c44bff78b
commit 19ac44c189
2 changed files with 24 additions and 10 deletions

View 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 Additionally, you can use JSON, XML, or YAML for app metadata, using
the same fields as the original '.txt' format. the same fields as the original '.txt' format.
Note that although the metadata files are designed to be easily read and Note that although the metadata files are designed to be easily read
writable by humans, they are also processed and written by various scripts. and writable by humans, they are also processed and written by various
They are capable of rewriting the entire file when necessary. Even so, scripts. The original '.txt' format can be automatically cleaned up
the structure and comments will be preserved correctly, although the order when necessary. The structure and comments will be preserved
of fields will be standardised. (In the event that the original file was correctly, although the order of fields will be standardised. (In the
in a different order, comments are considered as being attached to the field event that the original file was in a different order, comments are
following them). In fact, you can standardise all the metadata in a single considered as being attached to the field following them). In fact,
command, without changing the functional content, by running: you can standardise all the '.txt' metadata in a single command,
without changing the functional content, by running:
@example @example
fdroid rewritemeta fdroid rewritemeta
@end example @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. The following sections describe the fields recognised within the file.
@menu @menu

View file

@ -2,6 +2,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
# rewritemeta.py - part of the FDroid server tools # 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 # Copyright (C) 2010-12, Ciaran Gultnieks, ciaran@ciarang.com
# #
# This program is free software: you can redistribute it and/or modify # 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) apps = common.read_app_args(args, allapps, False)
for appid, app in apps.iteritems(): for appid, app in apps.iteritems():
logging.info("Writing " + appid) metadatapath = app['metadatapath']
metadata.write_metadata(os.path.join('metadata', appid) + '.txt', app) 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.") logging.info("Finished.")