Refactor tools, optimize imports, misc fixes

This commit is contained in:
FestplattenSchnitzel 2021-05-29 10:31:17 +02:00
parent 67e15e262c
commit ea5bf01a8f
10 changed files with 29 additions and 22 deletions

View file

@ -1,19 +1,19 @@
#!/usr/bin/env python3
import os
import re
import sys
# find all repositories that use plain HTTP urls (e.g. not HTTPS)
url_pattern = re.compile('repositories\s*{[^}]*http://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+[^}]*}', re.DOTALL)
url_pattern = re.compile(
r'repositories\s*{[^}]*http://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*(),]|%[0-9a-fA-F][0-9a-fA-F])+[^}]*}', re.DOTALL)
exit_value = 0
for appid in sys.argv:
gitdir = os.path.join('build', appid)
if not os.path.isdir(gitdir):
git_dir = os.path.join('build', appid)
if not os.path.isdir(git_dir):
continue
for root, dirs, files in os.walk(gitdir):
for root, dirs, files in os.walk(git_dir):
for f in files:
if f.endswith('.gradle'):
path = os.path.join(root, f)

View file

@ -2,9 +2,8 @@
import glob
import os
import subprocess
import sys
import yaml
from colorama import Fore, Style
if len(sys.argv) != 2:
@ -28,7 +27,6 @@ if not glob.glob('unsigned/%s_%s.apk' % (appid, versionCode)):
print('no unsigned APK found, skipping publish')
exit(1)
print(
Fore.GREEN
+ ('Found signatures for %s, running publish...' % sys.argv[1])

View file

@ -7,6 +7,7 @@
import glob
import os
import yaml
errors = 0

View file

@ -5,8 +5,10 @@ import os
import re
import subprocess
import sys
import yaml
from colorama import Fore, Style
try:
from yaml import CSafeLoader as SafeLoader
except ImportError:
@ -91,7 +93,7 @@ for f in files:
fp.write("\nNoSourceSince: %s" % versionName)
fp.write('\n')
errorcount = len(errors)
if errorcount > 0:
print(Fore.RED + '\nFound', errorcount, 'errors.' + Style.RESET_ALL)
sys.exit(errorcount)
error_count = len(errors)
if error_count > 0:
print(Fore.RED + '\nFound', error_count, 'errors.' + Style.RESET_ALL)
sys.exit(error_count)

View file

@ -6,22 +6,24 @@ import inspect
import os
import sys
def generate_keyalias(s):
m = hashlib.md5()
m.update(s.encode())
return m.hexdigest()[:8]
base = os.path.realpath(
os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..'))
metadatafiles = sorted(glob.glob(base + '/metadata/*.txt')
+ glob.glob(base + '/metadata/*.yml'))
metadata_files = sorted(glob.glob(base + '/metadata/*.txt')
+ glob.glob(base + '/metadata/*.yml'))
if not metadatafiles:
if not metadata_files:
print('No metadata files found!')
sys.exit(1)
keyaliases = dict()
for f in metadatafiles:
for f in metadata_files:
appid = os.path.basename(f)[:-4]
keyalias = generate_keyalias(appid)
if keyalias in keyaliases:

View file

@ -5,7 +5,7 @@ import os
os.chdir(os.path.join(os.path.dirname(__file__), '..'))
for f in glob.glob('metadata/*/*/*.txt') + glob.glob('metadata/*/*/*/*.txt'):
for f in glob.glob('metadata/*/*/*.txt') + glob.glob('metadata/*/*/*/*.txt'):
if os.path.getsize(f) == 0:
os.remove(f)
continue

View file

@ -3,6 +3,7 @@
import os
import subprocess
import sys
import yaml
from colorama import Fore, Style
@ -13,7 +14,7 @@ for appid in sorted(changed):
metadata_file = 'metadata/%s.yml' % appid
diff = subprocess.check_output(
(
'git diff --no-color --diff-filter=d FETCH_HEAD...HEAD -- ' + metadata_file
'git diff --no-color --diff-filter=d FETCH_HEAD...HEAD -- ' + metadata_file
).split(' ')
)
@ -70,7 +71,7 @@ for appid in sorted(changed):
signatures_dir = 'metadata/%s/signatures/' % appid
diff = subprocess.check_output(
(
'git diff --name-only --no-color --diff-filter=d FETCH_HEAD...HEAD -- ' + signatures_dir
'git diff --name-only --no-color --diff-filter=d FETCH_HEAD...HEAD -- ' + signatures_dir
).split(' ')
)
for f in diff.split():

View file

@ -3,6 +3,7 @@
import glob
import os
import re
import yaml
os.chdir(os.path.dirname(__file__) + '/../')
@ -13,7 +14,7 @@ for f in glob.glob('metadata/*.yml'):
data = yaml.load(raw)
archive_policy = data.get('ArchivePolicy')
if 'Disabled' not in data and 'Summary' in data \
and (archive_policy is None or not archive_policy.startswith('0 ')):
and (archive_policy is None or not archive_policy.startswith('0 ')):
en_US_dir = f[:-4] + '/en-US/'
os.makedirs(en_US_dir, exist_ok=True)
with open(en_US_dir + '/summary.txt', 'w') as fp:

View file

@ -8,6 +8,7 @@ import glob
import os
import re
import sys
import yaml
os.chdir(os.path.dirname(__file__) + '/../')

View file

@ -1,16 +1,17 @@
#!/usr/bin/env python3
import gitlab
import json
import os
import pprint
import re
import subprocess
import gitlab
os.chdir(os.path.join(os.path.dirname(__file__), '..'))
private_token = os.getenv('PERSONAL_ACCESS_TOKEN')
gl = gitlab.Gitlab('https://gitlab.com', api_version=4, private_token=private_token)
gl = gitlab.Gitlab('https://gitlab.com', private_token=private_token)
project = gl.projects.get(os.getenv('CI_PROJECT_PATH'), lazy=True)
TRIGGER_COMMIT_PAT = re.compile(r'<tt>([0-9a-f]{40})</tt>')