mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-20 13:50:12 +01:00
common: tighten up regexs when searching for version name/code and appid
This should have less of a change of matching bad things. thanks to @stf for the report. I ran tests comparing the original vs these new patterns, and it was a 100% match. So at least it didn't make things worse. Here's the test script: #!/usr/bin/env python3 import os import re old_vcsearch_g = re.compile(r'''.*[Vv]ersionCode[ =]+["']*([0-9]+)["']*''').search old_vnsearch_g = re.compile(r'.*[Vv]ersionName *=* *(["\'])((?:(?=(\\?))\3.)*?)\1.*').search old_psearch_g = re.compile(r'.*(packageName|applicationId) *=* *["\']([^"]+)["\'].*').search new_vcsearch_g = re.compile(r'''.*[Vv]ersionCode\s*=?\s*["']*([0-9]+)["']*''').search new_vnsearch_g = re.compile(r'''.*[Vv]ersionName\s*=?\s*(["'])((?:(?=(\\?))\3.)*?)\1.*''').search new_psearch_g = re.compile(r'''.*(packageName|applicationId)\s*=*\s*["']([^"']+)["'].*''').search old = re.compile(r'.*(packageName|applicationId) *=* *["\']([^"]+)["\'].*').search new = re.compile(r'''.*(packageName|applicationId)\s*=*\s*["']([^"']+)["'].*''').search for root, dirs, files in os.walk('build'): for f in files: if f.endswith('.gradle'): with open(os.path.join(root, f)) as fp: for line in fp: for old, new in ((old_vcsearch_g, new_vcsearch_g), (old_vnsearch_g, new_vnsearch_g), (old_psearch_g, new_psearch_g)): found_old = old(line) found_new = new(line) oldresult = None newresult = None if found_old or found_new: if found_old: oldresult = found_old.groups() #print('OLD', oldresult) if found_new: newresult = found_new.groups() #print('NEW', newresult) if oldresult != newresult: print('--------------------------------') print(f, oldresult, newresult)
This commit is contained in:
parent
e9320017b4
commit
06fb855a27
@ -1320,9 +1320,9 @@ def remove_debuggable_flags(root_dir):
|
||||
os.path.join(root, 'AndroidManifest.xml'))
|
||||
|
||||
|
||||
vcsearch_g = re.compile(r'''.*[Vv]ersionCode[ =]+["']*([0-9]+)["']*''').search
|
||||
vnsearch_g = re.compile(r'.*[Vv]ersionName *=* *(["\'])((?:(?=(\\?))\3.)*?)\1.*').search
|
||||
psearch_g = re.compile(r'.*(packageName|applicationId) *=* *["\']([^"]+)["\'].*').search
|
||||
vcsearch_g = re.compile(r'''.*[Vv]ersionCode\s*=?\s*["']*([0-9]+)["']*''').search
|
||||
vnsearch_g = re.compile(r'''.*[Vv]ersionName\s*=?\s*(["'])((?:(?=(\\?))\3.)*?)\1.*''').search
|
||||
psearch_g = re.compile(r'''.*(packageName|applicationId)\s*=*\s*["']([^"']+)["'].*''').search
|
||||
|
||||
|
||||
def app_matches_packagename(app, package):
|
||||
|
Loading…
Reference in New Issue
Block a user