path)
-def capitalize_intact(string):
- """Like str.capitalize(), but leave the rest of the string intact without
- switching it to lowercase."""
+def transform_first_char(string, method):
+ """Uses method() on the first character of string."""
if len(string) == 0:
return string
if len(string) == 1:
- return string.upper()
- return string[0].upper() + string[1:]
+ return method(string)
+ return method(string[0]) + string[1:]
def has_native_code(apkobj):
if flavours == ['yes']:
flavours = []
- flavours_cmd = ''.join([capitalize_intact(flav) for flav in flavours])
+ flavours_cmd = ''.join([transform_first_char(flav, str.upper) for flav in flavours])
gradletasks += ['assemble' + flavours_cmd + 'Release']
elif omethod == 'gradle':
src = None
- for apks_dir in [
- os.path.join(root_dir, 'build', 'outputs', 'apk', 'release'),
- os.path.join(root_dir, 'build', 'outputs', 'apk'),
- os.path.join(root_dir, 'build', 'apk'),
- ]:
+ apk_dirs = [
+ os.path.join(root_dir, 'build', 'outputs', 'apk', 'release'),
+ os.path.join(root_dir, 'build', 'outputs', 'apk'),
+ os.path.join(root_dir, 'build', 'apk'),
+ ]
+ if flavours_cmd:
+ apk_dirs.append(os.path.join(root_dir, 'build', 'outputs', 'apk', transform_first_char(flavours_cmd, str.lower), 'release'))
+ for apks_dir in apk_dirs:
for apkglob in ['*-release-unsigned.apk', '*-unsigned.apk', '*.apk']:
apks = glob.glob(os.path.join(apks_dir, apkglob))