mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-09-11 15:13:27 +02:00
Move version_string_to_int into separate function
This commit is contained in:
parent
dfbb2df839
commit
7d06608531
@ -525,8 +525,20 @@ def insert_obbs(repodir, apps, apks):
|
|||||||
break
|
break
|
||||||
|
|
||||||
|
|
||||||
|
def version_string_to_int(version):
|
||||||
|
"""Approximately convert a [Major].[Minor].[Patch] version string
|
||||||
|
consisting of numeric characters (0-9) and periods to a number. The
|
||||||
|
exponents are chosen such that it still fits in the 64bit index.yaml range.
|
||||||
|
"""
|
||||||
|
version = version.split('.')
|
||||||
|
major = int(version.pop(0)) if version else 0
|
||||||
|
minor = int(version.pop(0)) if version else 0
|
||||||
|
patch = int(version.pop(0)) if version else 0
|
||||||
|
return major * 10**12 + minor * 10**6 + patch
|
||||||
|
|
||||||
|
|
||||||
def process_ipa(repodir, apks):
|
def process_ipa(repodir, apks):
|
||||||
"""Scan the .ipa files in a given repo directory
|
"""Scan the .ipa files in a given repo directory.
|
||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
----------
|
----------
|
||||||
@ -557,13 +569,9 @@ def process_ipa(repodir, apks):
|
|||||||
if re.match("Payload/[^/]*.app/Info.plist", info.filename):
|
if re.match("Payload/[^/]*.app/Info.plist", info.filename):
|
||||||
with ipa_zip.open(info) as plist_file:
|
with ipa_zip.open(info) as plist_file:
|
||||||
plist = readPlist(plist_file)
|
plist = readPlist(plist_file)
|
||||||
# https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring
|
|
||||||
version = plist["CFBundleShortVersionString"].split('.')
|
|
||||||
major = int(version.pop(0))
|
|
||||||
minor = int(version.pop(0)) if version else 0
|
|
||||||
patch = int(version.pop(0)) if version else 0
|
|
||||||
ipa["packageName"] = plist["CFBundleIdentifier"]
|
ipa["packageName"] = plist["CFBundleIdentifier"]
|
||||||
ipa["versionCode"] = major * 10**12 + minor * 10**6 + patch
|
# https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring
|
||||||
|
ipa["versionCode"] = version_string_to_int(plist["CFBundleShortVersionString"])
|
||||||
ipa["versionName"] = plist["CFBundleShortVersionString"]
|
ipa["versionName"] = plist["CFBundleShortVersionString"]
|
||||||
ipa["usage"] = {k: v for k, v in plist.items() if 'Usage' in k}
|
ipa["usage"] = {k: v for k, v in plist.items() if 'Usage' in k}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user