mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 06:30:27 +03:00 
			
		
		
		
	added parse release filename function
This commit is contained in:
		
							parent
							
								
									b993d93395
								
							
						
					
					
						commit
						7c4b8bcac4
					
				
					 2 changed files with 30 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -511,6 +511,20 @@ def publishednameinfo(filename):
 | 
			
		|||
    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):
 | 
			
		||||
    if 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):
 | 
			
		||||
            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__":
 | 
			
		||||
    parser = optparse.OptionParser()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue