From 5822df9231dea84e6baf3fd35c24a7edbc87dc72 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Tue, 26 Aug 2014 14:06:59 +0200 Subject: [PATCH] metadata: Simplify the writing of optional fields --- fdroidserver/metadata.py | 51 +++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 30 deletions(-) diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index 7672de68..aa715176 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -810,33 +810,29 @@ def write_metadata(dest, app): value = ','.join(value) mf.write("%s:%s\n" % (field, value)) + def writefield_nonempty(field, value=None): + if value is None: + value = app[field] + if value: + writefield(field, value) + mf = open(dest, 'w') - if app['Disabled']: - writefield('Disabled') - if app['AntiFeatures']: - writefield('AntiFeatures') - if app['Provides']: - writefield('Provides') + writefield_nonempty('Disabled') + writefield_nonempty('AntiFeatures') + writefield_nonempty('Provides') writefield('Categories') writefield('License') writefield('Web Site') writefield('Source Code') writefield('Issue Tracker') - if app['Donate']: - writefield('Donate') - if app['FlattrID']: - writefield('FlattrID') - if app['Bitcoin']: - writefield('Bitcoin') - if app['Litecoin']: - writefield('Litecoin') - if app['Dogecoin']: - writefield('Dogecoin') + writefield_nonempty('Donate') + writefield_nonempty('FlattrID') + writefield_nonempty('Bitcoin') + writefield_nonempty('Litecoin') + writefield_nonempty('Dogecoin') mf.write('\n') - if app['Name']: - writefield('Name') - if app['Auto Name']: - writefield('Auto Name') + writefield_nonempty('Name') + writefield_nonempty('Auto Name') writefield('Summary') writefield('Description', '') for line in app['Description']: @@ -896,18 +892,13 @@ def write_metadata(dest, app): mf.write('.\n') mf.write('\n') - if app['Archive Policy']: - writefield('Archive Policy') + writefield_nonempty('Archive Policy') writefield('Auto Update Mode') writefield('Update Check Mode') - if app['Update Check Ignore']: - writefield('Update Check Ignore') - if app['Vercode Operation']: - writefield('Vercode Operation') - if app['Update Check Name']: - writefield('Update Check Name') - if app['Update Check Data']: - writefield('Update Check Data') + writefield_nonempty('Update Check Ignore') + writefield_nonempty('Vercode Operation') + writefield_nonempty('Update Check Name') + writefield_nonempty('Update Check Data') if app['Current Version']: writefield('Current Version') writefield('Current Version Code') -- 2.30.2