mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-10 01:10:11 +01:00
Added auto-update mode
This commit is contained in:
parent
fda286b1e3
commit
aef5b74437
@ -181,7 +181,9 @@ def main():
|
|||||||
parser.add_option("-v", "--verbose", action="store_true", default=False,
|
parser.add_option("-v", "--verbose", action="store_true", default=False,
|
||||||
help="Spew out even more information than normal")
|
help="Spew out even more information than normal")
|
||||||
parser.add_option("-p", "--package", default=None,
|
parser.add_option("-p", "--package", default=None,
|
||||||
help="Build only the specified package")
|
help="Check only the specified package")
|
||||||
|
parser.add_option("--auto", action="store_true", default=False,
|
||||||
|
help="Process auto-updates")
|
||||||
(options, args) = parser.parse_args()
|
(options, args) = parser.parse_args()
|
||||||
|
|
||||||
# Get all apps...
|
# Get all apps...
|
||||||
@ -197,6 +199,8 @@ def main():
|
|||||||
for app in apps:
|
for app in apps:
|
||||||
print "Processing " + app['id'] + '...'
|
print "Processing " + app['id'] + '...'
|
||||||
|
|
||||||
|
writeit = False
|
||||||
|
|
||||||
mode = app['Update Check Mode']
|
mode = app['Update Check Mode']
|
||||||
if mode == 'Market':
|
if mode == 'Market':
|
||||||
(version, vercode) = check_market(app)
|
(version, vercode) = check_market(app)
|
||||||
@ -219,6 +223,36 @@ def main():
|
|||||||
print '...updating to version:' + version + ' vercode:' + vercode
|
print '...updating to version:' + version + ' vercode:' + vercode
|
||||||
app['Current Version'] = version
|
app['Current Version'] = version
|
||||||
app['Current Version Code'] = str(int(vercode))
|
app['Current Version Code'] = str(int(vercode))
|
||||||
|
writeit = True
|
||||||
|
|
||||||
|
if options.auto:
|
||||||
|
mode = app['Auto Update Mode']
|
||||||
|
if mode == 'None':
|
||||||
|
pass
|
||||||
|
elif mode.startswith('Version '):
|
||||||
|
pattern = mode[8:]
|
||||||
|
gotcur = False
|
||||||
|
latest = None
|
||||||
|
for build in app['builds']:
|
||||||
|
if build['vercode'] == app['Current Version Code']:
|
||||||
|
gotcur = True
|
||||||
|
if not latest or build['vercode'] > latest['vercode']:
|
||||||
|
latest = build
|
||||||
|
if not gotcur:
|
||||||
|
newbuild = latest.copy()
|
||||||
|
del newbuild['origlines']
|
||||||
|
newbuild['vercode'] = app['Current Version Code']
|
||||||
|
newbuild['version'] = app['Current Version']
|
||||||
|
print "...auto-generating build for " + newbuild['version']
|
||||||
|
commit = pattern.replace('%v', newbuild['version'])
|
||||||
|
commit = commit.replace('%c', newbuild['vercode'])
|
||||||
|
newbuild['commit'] = commit
|
||||||
|
app['builds'].append(newbuild)
|
||||||
|
writeit = True
|
||||||
|
else:
|
||||||
|
print 'Invalid auto update mode'
|
||||||
|
|
||||||
|
if writeit:
|
||||||
metafile = os.path.join('metadata', app['id'] + '.txt')
|
metafile = os.path.join('metadata', app['id'] + '.txt')
|
||||||
common.write_metadata(metafile, app)
|
common.write_metadata(metafile, app)
|
||||||
|
|
||||||
|
@ -426,6 +426,7 @@ def parse_metadata(metafile, **kw):
|
|||||||
thisinfo['Disabled'] = None
|
thisinfo['Disabled'] = None
|
||||||
thisinfo['AntiFeatures'] = None
|
thisinfo['AntiFeatures'] = None
|
||||||
thisinfo['Update Check Mode'] = 'Market'
|
thisinfo['Update Check Mode'] = 'Market'
|
||||||
|
thisinfo['Auto Update Mode'] = 'None'
|
||||||
thisinfo['Current Version'] = ''
|
thisinfo['Current Version'] = ''
|
||||||
thisinfo['Current Version Code'] = '0'
|
thisinfo['Current Version Code'] = '0'
|
||||||
thisinfo['Repo Type'] = ''
|
thisinfo['Repo Type'] = ''
|
||||||
@ -594,6 +595,7 @@ def write_metadata(dest, app):
|
|||||||
mf.write('\n')
|
mf.write('\n')
|
||||||
if len(app['builds']) > 0:
|
if len(app['builds']) > 0:
|
||||||
mf.write('\n')
|
mf.write('\n')
|
||||||
|
writefield('Auto Update Mode')
|
||||||
writefield('Update Check Mode')
|
writefield('Update Check Mode')
|
||||||
if len(app['Current Version']) > 0:
|
if len(app['Current Version']) > 0:
|
||||||
writefield('Current Version')
|
writefield('Current Version')
|
||||||
|
Loading…
Reference in New Issue
Block a user