From 2c86d3802855cacdab5f08a99009fa19e4e09e6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20P=C3=B6hn?= Date: Sun, 15 Dec 2019 17:27:27 +0100 Subject: [PATCH] srclib: no spaces in dict key --- fdroidserver/common.py | 4 ++-- fdroidserver/metadata.py | 5 ++++- tests/metadata.TestCase | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/fdroidserver/common.py b/fdroidserver/common.py index bab6c3b9..59b58e34 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -773,7 +773,7 @@ def getvcs(vcstype, remote, local): def getsrclibvcs(name): if name not in fdroidserver.metadata.srclibs: raise VCSException("Missing srclib " + name) - return fdroidserver.metadata.srclibs[name]['Repo Type'] + return fdroidserver.metadata.srclibs[name]['RepoType'] class vcs: @@ -1838,7 +1838,7 @@ def getsrclib(spec, srclib_dir, subdir=None, basepath=False, sdir = os.path.join(srclib_dir, name) if not preponly: - vcs = getvcs(srclib["Repo Type"], srclib["Repo"], sdir) + vcs = getvcs(srclib["RepoType"], srclib["Repo"], sdir) vcs.srclib = (name, number, sdir) if ref: vcs.gotorevision(ref, refresh) diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index fbf11a44..a17e4d69 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -709,7 +709,7 @@ def parse_txt_srclib(metadatapath): thisinfo = {} # Defaults for fields that come from metadata - thisinfo['Repo Type'] = '' + thisinfo['RepoType'] = '' thisinfo['Repo'] = '' thisinfo['Subdir'] = None thisinfo['Prepare'] = None @@ -731,6 +731,9 @@ def parse_txt_srclib(metadatapath): except ValueError: warn_or_exception(_("Invalid metadata in %s:%d") % (line, n)) + # collapse whitespaces in field names + f = f.replace(' ', '') + if f == "Subdir": thisinfo[f] = v.split(',') else: diff --git a/tests/metadata.TestCase b/tests/metadata.TestCase index 08d4137c..0f3e3cfe 100755 --- a/tests/metadata.TestCase +++ b/tests/metadata.TestCase @@ -588,7 +588,7 @@ class MetadataTest(unittest.TestCase): ''')) srclib = fdroidserver.metadata.parse_txt_srclib('JSoup.txt') self.assertDictEqual({'Repo': 'https://github.com/jhy/jsoup.git', - 'Repo Type': 'git', + 'RepoType': 'git', 'Subdir': [''], 'Prepare': ''}, srclib)