mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-05 18:50:09 +02:00
fix scan_apk_androguard when parsing versionName without a dot (e.g. 5)
fixes de35f1b05b
:
Traceback (most recent call last):
File "/home/hans/code/fdroid/server/fdroid", line 164, in <module>
main()
File "/home/hans/code/fdroid/server/fdroid", line 138, in main
mod.main()
File "/export/share/code/fdroid/server/fdroidserver/update.py", line 1932, in main
apks, cachechanged = process_apks(apkcache, repodirs[0], knownapks, options.use_date_from_apk)
File "/export/share/code/fdroid/server/fdroidserver/update.py", line 1459, in process_apks
use_date_from_apk, ada, True)
File "/export/share/code/fdroid/server/fdroidserver/update.py", line 1332, in process_apk
apk = scan_apk(apkfile)
File "/export/share/code/fdroid/server/fdroidserver/update.py", line 1051, in scan_apk
scan_apk_androguard(apk, apk_file)
File "/export/share/code/fdroid/server/fdroidserver/update.py", line 1220, in scan_apk_androguard
res_id = arsc.get_id(apk['packageName'], res_id)[1]
TypeError: 'NoneType' object is not subscriptable
For example https://f-droid.org/archive/com.abitsinc.andr_5.apk:
$ aapt dump badging archive/com.abitsinc.andr_5.apk |head -1
package: name='com.abitsinc.andr' versionCode='5' versionName='5' platformBuildVersionName='2.3.3'
This commit is contained in:
parent
6cc26ad8c8
commit
afe0c6a167
@ -1213,12 +1213,13 @@ def scan_apk_androguard(apk, apkfile):
|
|||||||
versionName = apkobject.get_androidversion_name()
|
versionName = apkobject.get_androidversion_name()
|
||||||
if versionName:
|
if versionName:
|
||||||
apk['versionName'] = versionName
|
apk['versionName'] = versionName
|
||||||
try: # can be a literal value or a resId
|
if versionName[0] == '@':
|
||||||
res_id = int(versionName.replace("@", "0x"), 16)
|
try: # can be a literal value or a resId
|
||||||
res_id = arsc.get_id(apk['packageName'], res_id)[1]
|
res_id = int(versionName.replace("@", "0x"), 16)
|
||||||
apk['versionName'] = arsc.get_string(apk['packageName'], res_id)[1]
|
res_id = arsc.get_id(apk['packageName'], res_id)[1]
|
||||||
except ValueError:
|
apk['versionName'] = arsc.get_string(apk['packageName'], res_id)[1]
|
||||||
pass
|
except ValueError:
|
||||||
|
pass
|
||||||
|
|
||||||
if apkobject.get_max_sdk_version() is not None:
|
if apkobject.get_max_sdk_version() is not None:
|
||||||
apk['maxSdkVersion'] = apkobject.get_max_sdk_version()
|
apk['maxSdkVersion'] = apkobject.get_max_sdk_version()
|
||||||
|
Loading…
Reference in New Issue
Block a user