1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-09-11 23:23:27 +02:00

Fetch CV @string values at checkupdates

This commit is contained in:
Daniel Martí 2013-08-15 12:15:44 +02:00
parent 13a8b1fd0a
commit 990321d33d
2 changed files with 18 additions and 3 deletions

View File

@ -300,7 +300,7 @@ def main():
writeit = True
logmsg = "Update current version of " + app['id'] + " to " + version
# Do the Auto Name thing...
# Do the Auto Name thing as well as finding the CV real name
if len(app["Repo Type"]) > 0:
try:
@ -325,8 +325,13 @@ def main():
app['Auto Name'] = new_name
writeit = True
if app['Current Version'].startswith('@string/'):
cv = common.version_name(app['Current Version'], app_dir, flavour)
if app['Current Version'] != cv:
app['Current Version'] = cv
writeit = True
except Exception:
msg = "Auto Name failed for %s due to exception: %s" % (app['id'], traceback.format_exc())
msg = "Auto Name or Current Version failed for %s due to exception: %s" % (app['id'], traceback.format_exc())
if options.auto:
mode = app['Auto Update Mode']

View File

@ -902,9 +902,19 @@ def fetch_real_name(app_dir, flavour):
matches = name_search(line)
if matches:
return retrieve_string(xml_dir, matches.group(1))
return ''
# Retrieve the version name
def version_name(original, app_dir, flavour):
for f in manifest_paths(app_dir, flavour):
if not f.endswith(".xml"):
continue
xml_dir = os.path.join(f[:-19], 'res', 'values')
string = retrieve_string(xml_dir, original)
if len(string) > 0:
return string
return original
# Extract some information from the AndroidManifest.xml at the given path.
# Returns (version, vercode, package), any or all of which might be None.
# All values returned are strings.