mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-20 13:50:12 +01:00
Add --market to checkupdates
This commit is contained in:
parent
40d5191a0a
commit
cb1df491f4
@ -106,7 +106,7 @@ __complete_publish() {
|
|||||||
|
|
||||||
__complete_checkupdates() {
|
__complete_checkupdates() {
|
||||||
opts="-h -v -p"
|
opts="-h -v -p"
|
||||||
lopts="--help --verbose --package --auto --commit"
|
lopts="--help --verbose --package --auto --autoonly --commit --market"
|
||||||
case "${prev}" in
|
case "${prev}" in
|
||||||
-p|--package)
|
-p|--package)
|
||||||
__package
|
__package
|
||||||
|
@ -26,6 +26,7 @@ import subprocess
|
|||||||
from optparse import OptionParser
|
from optparse import OptionParser
|
||||||
import traceback
|
import traceback
|
||||||
import HTMLParser
|
import HTMLParser
|
||||||
|
from distutils.version import LooseVersion
|
||||||
import common
|
import common
|
||||||
from common import BuildException
|
from common import BuildException
|
||||||
from common import VCSException
|
from common import VCSException
|
||||||
@ -187,10 +188,7 @@ def check_market(app):
|
|||||||
resp = urllib2.urlopen(req, None, 20)
|
resp = urllib2.urlopen(req, None, 20)
|
||||||
page = resp.read()
|
page = resp.read()
|
||||||
except urllib2.HTTPError, e:
|
except urllib2.HTTPError, e:
|
||||||
if e.code == 404:
|
return (None, str(e.code))
|
||||||
return (None, 'Not in market')
|
|
||||||
else:
|
|
||||||
return (None, 'Failed with HTTP status' + str(req.getcode()))
|
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
return (None, 'Failed:' + str(e))
|
return (None, 'Failed:' + str(e))
|
||||||
|
|
||||||
@ -206,7 +204,7 @@ def check_market(app):
|
|||||||
|
|
||||||
if not version:
|
if not version:
|
||||||
return (None, "Couldn't find version")
|
return (None, "Couldn't find version")
|
||||||
return (version, None)
|
return (version.strip(), None)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
@ -227,6 +225,8 @@ def main():
|
|||||||
help="Only process apps with auto-updates")
|
help="Only process apps with auto-updates")
|
||||||
parser.add_option("--commit", action="store_true", default=False,
|
parser.add_option("--commit", action="store_true", default=False,
|
||||||
help="Commit changes")
|
help="Commit changes")
|
||||||
|
parser.add_option("--market", action="store_true", default=False,
|
||||||
|
help="Only print differences with the Play Store")
|
||||||
(options, args) = parser.parse_args()
|
(options, args) = parser.parse_args()
|
||||||
|
|
||||||
# Get all apps...
|
# Get all apps...
|
||||||
@ -239,6 +239,25 @@ def main():
|
|||||||
print "No such package"
|
print "No such package"
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
if options.market:
|
||||||
|
for app in apps:
|
||||||
|
version, reason = check_market(app)
|
||||||
|
if version is None and options.verbose:
|
||||||
|
if reason == '404':
|
||||||
|
print "%s (%s) is not in the Play Store" % (app['Auto Name'], app['id'])
|
||||||
|
else:
|
||||||
|
print "%s (%s) encountered a problem: %s" % (app['Auto Name'], app['id'], reason)
|
||||||
|
if version is not None:
|
||||||
|
stored = app['Current Version']
|
||||||
|
if LooseVersion(stored) < LooseVersion(version):
|
||||||
|
print "%s (%s) has version %s on the Play Store, which is bigger than %s" % (
|
||||||
|
app['Auto Name'], app['id'], version, stored)
|
||||||
|
elif options.verbose:
|
||||||
|
print "%s (%s) has the same version %s on the Play Store" % (
|
||||||
|
app['Auto Name'], app['id'], version)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
for app in apps:
|
for app in apps:
|
||||||
|
|
||||||
process = True
|
process = True
|
||||||
|
Loading…
Reference in New Issue
Block a user