chiark / gitweb /
checkupdates: avoid crash with --auto and None CVC
authorDaniel Martí <mvdan@mvdan.cc>
Mon, 26 Sep 2016 20:07:55 +0000 (21:07 +0100)
committerDaniel Martí <mvdan@mvdan.cc>
Mon, 26 Sep 2016 20:07:55 +0000 (21:07 +0100)
Reproducible via `fdroid checkupdates --auto subreddit.android.appstore`
at fdroiddata HEAD (e76449ab).

WARNING: ...subreddit.android.appstore : Couldn't find package ID
CRITICAL: Unknown exception found!
Traceback (most recent call last):
  File "/home/mvdan/.bin/fdroid", line 147, in <module>
    main()
  File "/home/mvdan/.bin/fdroid", line 124, in main
    mod.main()
  File "/home/mvdan/git/fsr/fdroidserver/checkupdates.py", line 571, in main
    checkupdates_app(app)
  File "/home/mvdan/git/fsr/fdroidserver/checkupdates.py", line 469, in checkupdates_app
    if int(build.vercode) >= int(app.CurrentVersionCode):
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

fdroidserver/checkupdates.py

index b754bf10b6b862804169239051d8e966a16c1812..2cc21e564a8fd8d230522afcc64f06c18be0114f 100644 (file)
@@ -452,7 +452,9 @@ def checkupdates_app(app, first=True):
 
     if options.auto:
         mode = app.AutoUpdateMode
-        if mode in ('None', 'Static'):
+        if not app.CurrentVersionCode:
+            logging.warn("Can't auto-update app with no current version code: " + app.id)
+        elif mode in ('None', 'Static'):
             pass
         elif mode.startswith('Version '):
             pattern = mode[8:]