mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-05 18:50:09 +02:00
added parse release filename function
This commit is contained in:
parent
b993d93395
commit
7c4b8bcac4
@ -511,6 +511,20 @@ def publishednameinfo(filename):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
apk_release_filename = re.compile('(?P<appid>[a-z0-9_\.]+)_(?P<vercode>[0-9]+)\.apk')
|
||||||
|
apk_release_filename_with_sigfp = re.compile('(?P<appid>[a-z0-9_\.]+)_(?P<vercode>[0-9]+)_(?P<sigfp>[0-9a-f]{7})\.apk')
|
||||||
|
|
||||||
|
|
||||||
|
def apk_parse_release_filename(apkname):
|
||||||
|
m = apk_release_filename_with_sigfp.match(apkname)
|
||||||
|
if m:
|
||||||
|
return m.group('appid'), m.group('vercode'), m.group('sigfp')
|
||||||
|
m = apk_release_filename.match(apkname)
|
||||||
|
if m:
|
||||||
|
return m.group('appid'), m.group('vercode'), None
|
||||||
|
return None, None, None
|
||||||
|
|
||||||
|
|
||||||
def get_release_filename(app, build):
|
def get_release_filename(app, build):
|
||||||
if build.output:
|
if build.output:
|
||||||
return "%s_%s.%s" % (app.id, build.versionCode, get_file_extension(build.output))
|
return "%s_%s.%s" % (app.id, build.versionCode, get_file_extension(build.output))
|
||||||
|
@ -418,6 +418,22 @@ class CommonTest(unittest.TestCase):
|
|||||||
with self.assertRaises(FDroidException):
|
with self.assertRaises(FDroidException):
|
||||||
fdroidserver.common.get_apk_id_aapt('nope')
|
fdroidserver.common.get_apk_id_aapt('nope')
|
||||||
|
|
||||||
|
def test_apk_release_name(self):
|
||||||
|
appid, vercode, sigfp = fdroidserver.common.apk_parse_release_filename('com.serwylo.lexica_905.apk')
|
||||||
|
self.assertEqual(appid, 'com.serwylo.lexica')
|
||||||
|
self.assertEqual(vercode, '905')
|
||||||
|
self.assertEqual(sigfp, None)
|
||||||
|
|
||||||
|
appid, vercode, sigfp = fdroidserver.common.apk_parse_release_filename('com.serwylo.lexica_905_c82e0f6.apk')
|
||||||
|
self.assertEqual(appid, 'com.serwylo.lexica')
|
||||||
|
self.assertEqual(vercode, '905')
|
||||||
|
self.assertEqual(sigfp, 'c82e0f6')
|
||||||
|
|
||||||
|
appid, vercode, sigfp = fdroidserver.common.apk_parse_release_filename('beverly_hills-90210.apk')
|
||||||
|
self.assertEqual(appid, None)
|
||||||
|
self.assertEqual(vercode, None)
|
||||||
|
self.assertEqual(sigfp, None)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
parser = optparse.OptionParser()
|
parser = optparse.OptionParser()
|
||||||
|
Loading…
Reference in New Issue
Block a user