PICARD-1447: Generate appdata release list on build

Generates the release list in appdata XML from NEWS.txt
This commit is contained in:
Philipp Wolfer
2019-02-14 10:15:01 +01:00
parent f148cd6e73
commit 1aa987a9cc
2 changed files with 16 additions and 12 deletions

View File

@@ -93,16 +93,6 @@
</content_rating>
<releases>
<release date="2018-01-29" version="2.1.2"/>
<release date="2018-01-29" version="2.1.1"/>
<release date="2018-12-20" version="2.1.0"/>
<release date="2018-09-05" version="2.0.4"/>
<release date="2018-08-10" version="2.0.3"/>
<release date="2018-07-30" version="2.0.2"/>
<release date="2018-07-21" version="2.0.1"/>
<release date="2018-07-18" version="2.0.0"/>
<release date="2017-06-20" version="1.4.2"/>
<release date="2017-04-15" version="1.4.1"/>
<release date="2017-02-14" version="1.4.0"/>
%(releases)s
</releases>
</component>

View File

@@ -344,6 +344,8 @@ class picard_build_appdata(Command):
description = 'Build appdata metadata file'
user_options = []
re_release = re.compile('Version (\d+(?:\.\d+){1,2}) - (\d{4}-\d{2}-\d{2})')
def initialize_options(self):
pass
@@ -351,12 +353,24 @@ class picard_build_appdata(Command):
pass
def run(self):
tmp_file = 'org.musicbrainz.Picard.appdata.xml.tmp'
self.spawn([
'msgfmt', '--xml',
'--template=org.musicbrainz.Picard.appdata.xml.in',
'-d', 'po/appstream',
'-o', 'org.musicbrainz.Picard.appdata.xml',
'-o', tmp_file,
])
self.add_release_list(tmp_file)
os.unlink(tmp_file)
def add_release_list(self, source_file):
with open('NEWS.txt', 'r') as newsfile:
news = newsfile.read()
releases = []
for (version, date) in self.re_release.findall(news):
releases.append('<release date="%s" version="%s"/>' % (date, version))
args = {'releases': '\n '.join(releases)}
generate_file(source_file, 'org.musicbrainz.Picard.appdata.xml', args)
class picard_regen_appdata_pot_file(Command):