From 994488ad47872d1d8aa10a90e28e30dda883da6e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 10 Aug 2015 22:29:17 +0200 Subject: [PATCH] rename metadata.write_metadata() to match metadata.parse_*_metadata() This changes the function name to include the format of the metadata file, and also changes the order of the args to match the parse_*_metadata() functions. --- fdroidserver/checkupdates.py | 3 +-- fdroidserver/import.py | 3 +-- fdroidserver/metadata.py | 23 +++++++++++++++-------- fdroidserver/rewritemeta.py | 3 +-- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/fdroidserver/checkupdates.py b/fdroidserver/checkupdates.py index 7adfcbb3..e22a6e0f 100644 --- a/fdroidserver/checkupdates.py +++ b/fdroidserver/checkupdates.py @@ -492,8 +492,7 @@ def checkupdates_app(app, first=True): if commitmsg: metadatapath = os.path.join('metadata', app.id + '.txt') - with open(metadatapath, 'w') as f: - metadata.write_metadata('txt', f, app) + metadata.write_metadata(metadatapath, app) if options.commit: logging.info("Commiting update for " + metadatapath) gitcmd = ["git", "commit", "-m", commitmsg] diff --git a/fdroidserver/import.py b/fdroidserver/import.py index 3b80e485..247a42c4 100644 --- a/fdroidserver/import.py +++ b/fdroidserver/import.py @@ -243,8 +243,7 @@ def main(): f.write(app.RepoType + ' ' + app.Repo) metadatapath = os.path.join('metadata', package + '.txt') - with open(metadatapath, 'w') as f: - metadata.write_metadata('txt', f, app) + metadata.write_metadata(metadatapath, app) logging.info("Wrote " + metadatapath) diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index bbaccd91..722e1710 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -1270,7 +1270,7 @@ def write_plaintext_metadata(mf, app, w_comment, w_field, w_build): # # 'mf' - Writer interface (file, StringIO, ...) # 'app' - The app data -def write_txt_metadata(mf, app): +def write_txt(mf, app): def w_comment(line): mf.write("# %s\n" % line) @@ -1313,7 +1313,7 @@ def write_txt_metadata(mf, app): write_plaintext_metadata(mf, app, w_comment, w_field, w_build) -def write_yaml_metadata(mf, app): +def write_yaml(mf, app): def w_comment(line): mf.write("# %s\n" % line) @@ -1377,9 +1377,16 @@ def write_yaml_metadata(mf, app): write_plaintext_metadata(mf, app, w_comment, w_field, w_build) -def write_metadata(fmt, mf, app): - if fmt == 'txt': - return write_txt_metadata(mf, app) - if fmt == 'yaml': - return write_yaml_metadata(mf, app) - raise MetaDataException("Unknown metadata format given") +def write_metadata(metadatapath, app): + _, ext = fdroidserver.common.get_extension(metadatapath) + accepted = fdroidserver.common.config['accepted_formats'] + if ext not in accepted: + raise MetaDataException('Cannot write "%s", not an accepted format, use: %s' % ( + metadatapath, ', '.join(accepted))) + + with open(metadatapath, 'w') as mf: + if ext == 'txt': + return write_txt(mf, app) + elif ext == 'yaml': + return write_yaml(mf, app) + raise MetaDataException('Unknown metadata format: %s' % metadatapath) diff --git a/fdroidserver/rewritemeta.py b/fdroidserver/rewritemeta.py index 971ab18c..75888a23 100644 --- a/fdroidserver/rewritemeta.py +++ b/fdroidserver/rewritemeta.py @@ -84,8 +84,7 @@ def main(): print(app.metadatapath) continue - with open(base + '.' + to_ext, 'w') as f: - metadata.write_metadata(to_ext, f, app) + metadata.write_metadata(base + '.' + to_ext, app) if ext != to_ext: os.remove(app.metadatapath) -- 2.30.2