Skip to content

Commit

Permalink
Added tool to automatically add <release> tags to appdata
Browse files Browse the repository at this point in the history
  • Loading branch information
loonycyborg committed Oct 14, 2019
1 parent 0d9730d commit 3ed601b
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions data/tools/update_appdata
@@ -0,0 +1,37 @@
#!/bin/env python

import sys, requests, argparse
from xml.dom import minidom

def fetch_date(version):
tag_info = requests.get("https://api.github.com/repos/wesnoth/wesnoth/git/refs/tags/"+version)
tag_info.raise_for_status()
url = tag_info.json()["object"]["url"]
result = requests.get(url)
result.raise_for_status()
return result.json()["tagger"]["date"]

def update_appdata(version, appdata_path):
date = fetch_date(version)

doc = minidom.parse(appdata_path)
releases = doc.getElementsByTagName("releases")
if releases:
releases = releases[0]
else:
releases = doc.getElementsByTagName("component")[-1].appendChild(doc.createElement("releases"))

release = doc.createElement("release")
release.setAttribute("version", version)
release.setAttribute("date", date)
releases.insertBefore(release, releases.firstChild)

doc.writexml(open(appdata_path, "w"))

if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('version', metavar='VERSION')
parser.add_argument('appdata', metavar='APPDATA_FILE')

args = parser.parse_args()
update_appdata(args.version, args.appdata)

1 comment on commit 3ed601b

@soliton-
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be under utils/. See the READMEs.

Please sign in to comment.