fdroid update -c crashes on empty fields from template
When using fdroid update -c with a YAML template file with all the wanted fields defined, this will crash if any of the values have not been set (which at that stage is the usual case):
INFO: Generated skeleton metadata for org.nuclearfog.twidda
CRITICAL: Unknown exception found!
Traceback (most recent call last):
File "/mnt/av/src/git/fdroidserver/fdroid", line 170, in <module>
main()
File "/mnt/av/src/git/fdroidserver/fdroid", line 165, in main
raise e
File "/mnt/av/src/git/fdroidserver/fdroid", line 146, in main
mod.main()
File "/mnt/ubu/home/av/src/git/fdroidserver/fdroidserver/update.py", line 2094, in main
index.make(apps, sortedids, apks, repodirs[0], False)
File "/mnt/ubu/home/av/src/git/fdroidserver/fdroidserver/index.py", line 140, in make
fdroid_signing_key_fingerprints)
File "/mnt/ubu/home/av/src/git/fdroidserver/fdroidserver/index.py", line 434, in make_v0
addElement('web', app.WebSite, doc, apel)
File "/mnt/ubu/home/av/src/git/fdroidserver/fdroidserver/index.py", line 300, in addElement
el.appendChild(doc.createTextNode(value))
File "/usr/lib/python3.5/xml/dom/minidom.py", line 1658, in createTextNode
raise TypeError("node contents must be a string")
TypeError: node contents must be a string
Here it's the WebSite field which, naturally, has no value at this stage. Which renders the template.yml feature pretty useless IMHO.
This should be handled more lenient: a WARNING should be thrown, but then the index build should continue (as it would with a similar .txt metadata file). And it's not only the WebSite field: same thing happens with all other fiels in the same way (verified e.g. for License).
PS: Tested on the latest commit in master (051596dd).