From: Hans-Christoph Steiner Date: Tue, 29 Nov 2016 20:04:27 +0000 (+0100) Subject: uses-permission maxSdkVersion as int, and enforces int string in XML X-Git-Tag: 0.8~111^2 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=650d52fb0abfb1e18193d9b06b63b0cec0a71a8b;p=fdroidserver.git uses-permission maxSdkVersion as int, and enforces int string in XML This forces to be an integer in the internal dict, and forces it to have no decimal point in XML. Having it as an integer in the internal dict means data will pass directly through to the fdroidclient Apk instance, where it is ultimately an integer. --- diff --git a/fdroidserver/update.py b/fdroidserver/update.py index a0324aac..0e6c39a6 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -737,7 +737,8 @@ def scan_apks(apkcache, repodir, knownapks, use_date_from_apk=False): apk['nativecode'].append(arch[1:-1]) elif line.startswith('uses-permission:'): perm_match = re.match(permission_pat, line).groupdict() - + if perm_match['maxSdkVersion']: + perm_match['maxSdkVersion'] = int(perm_match['maxSdkVersion']) permission = UsesPermission( perm_match['name'], perm_match['maxSdkVersion'] @@ -746,7 +747,8 @@ def scan_apks(apkcache, repodir, knownapks, use_date_from_apk=False): apk['uses-permission'].add(permission) elif line.startswith('uses-permission-sdk-23:'): perm_match = re.match(permission_pat, line).groupdict() - + if perm_match['maxSdkVersion']: + perm_match['maxSdkVersion'] = int(perm_match['maxSdkVersion']) permission_sdk_23 = UsesPermissionSdk23( perm_match['name'], perm_match['maxSdkVersion'] @@ -1250,13 +1252,13 @@ def make_index(apps, sortedids, apks, repodir, archive): permel = doc.createElement('uses-permission') permel.setAttribute('name', permission.name) if permission.maxSdkVersion is not None: - permel.setAttribute('maxSdkVersion', permission.maxSdkVersion) + permel.setAttribute('maxSdkVersion', '%d' % permission.maxSdkVersion) apkel.appendChild(permel) for permission_sdk_23 in sorted(apk['uses-permission-sdk-23']): permel = doc.createElement('uses-permission-sdk-23') permel.setAttribute('name', permission_sdk_23.name) if permission_sdk_23.maxSdkVersion is not None: - permel.setAttribute('maxSdkVersion', permission_sdk_23.maxSdkVersion) + permel.setAttribute('maxSdkVersion', '%d' % permission_sdk_23.maxSdkVersion) apkel.appendChild(permel) if 'nativecode' in apk: addElement('nativecode', ','.join(sorted(apk['nativecode'])), doc, apkel)