metadata: Simplify the writing of optional fields

This commit is contained in:
Daniel Martí 2014-08-26 14:06:59 +02:00
parent cb63a5a62b
commit 5822df9231

View file

@ -810,33 +810,29 @@ def write_metadata(dest, app):
value = ','.join(value) value = ','.join(value)
mf.write("%s:%s\n" % (field, 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') mf = open(dest, 'w')
if app['Disabled']: writefield_nonempty('Disabled')
writefield('Disabled') writefield_nonempty('AntiFeatures')
if app['AntiFeatures']: writefield_nonempty('Provides')
writefield('AntiFeatures')
if app['Provides']:
writefield('Provides')
writefield('Categories') writefield('Categories')
writefield('License') writefield('License')
writefield('Web Site') writefield('Web Site')
writefield('Source Code') writefield('Source Code')
writefield('Issue Tracker') writefield('Issue Tracker')
if app['Donate']: writefield_nonempty('Donate')
writefield('Donate') writefield_nonempty('FlattrID')
if app['FlattrID']: writefield_nonempty('Bitcoin')
writefield('FlattrID') writefield_nonempty('Litecoin')
if app['Bitcoin']: writefield_nonempty('Dogecoin')
writefield('Bitcoin')
if app['Litecoin']:
writefield('Litecoin')
if app['Dogecoin']:
writefield('Dogecoin')
mf.write('\n') mf.write('\n')
if app['Name']: writefield_nonempty('Name')
writefield('Name') writefield_nonempty('Auto Name')
if app['Auto Name']:
writefield('Auto Name')
writefield('Summary') writefield('Summary')
writefield('Description', '') writefield('Description', '')
for line in app['Description']: for line in app['Description']:
@ -896,18 +892,13 @@ def write_metadata(dest, app):
mf.write('.\n') mf.write('.\n')
mf.write('\n') mf.write('\n')
if app['Archive Policy']: writefield_nonempty('Archive Policy')
writefield('Archive Policy')
writefield('Auto Update Mode') writefield('Auto Update Mode')
writefield('Update Check Mode') writefield('Update Check Mode')
if app['Update Check Ignore']: writefield_nonempty('Update Check Ignore')
writefield('Update Check Ignore') writefield_nonempty('Vercode Operation')
if app['Vercode Operation']: writefield_nonempty('Update Check Name')
writefield('Vercode Operation') writefield_nonempty('Update Check Data')
if app['Update Check Name']:
writefield('Update Check Name')
if app['Update Check Data']:
writefield('Update Check Data')
if app['Current Version']: if app['Current Version']:
writefield('Current Version') writefield('Current Version')
writefield('Current Version Code') writefield('Current Version Code')