mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-13 14:32:28 +03:00
fix copy_triple_t_store_metadata()
This commit is contained in:
parent
884870e74e
commit
ac2b5cb7de
1 changed files with 45 additions and 53 deletions
|
@ -1039,28 +1039,29 @@ def copy_triple_t_store_metadata(apps):
|
||||||
setting_gradle_pattern = re.compile(r"""\s*include\s+["']:([^"']+)["'](?:,[\n\s]*["']:([^"']+)["'])*""")
|
setting_gradle_pattern = re.compile(r"""\s*include\s+["']:([^"']+)["'](?:,[\n\s]*["']:([^"']+)["'])*""")
|
||||||
|
|
||||||
for packageName, app in apps.items():
|
for packageName, app in apps.items():
|
||||||
|
builds = app.get('Builds', [])
|
||||||
gradle_subdirs = set()
|
gradle_subdirs = set()
|
||||||
sg_list = glob.glob(os.path.join('build', packageName, 'settings.gradle*'))
|
if builds and builds[-1].subdir:
|
||||||
if sg_list:
|
gradle_subdirs.update(glob.glob(os.path.join('build', packageName, builds[-1].subdir, 'src', '*', 'play')))
|
||||||
settings_gradle = sg_list[0]
|
if not gradle_subdirs:
|
||||||
with open(settings_gradle, encoding='utf-8') as fp:
|
sg_list = sorted(glob.glob(os.path.join('build', packageName, 'settings.gradle*')))
|
||||||
data = fp.read()
|
if sg_list:
|
||||||
for matches in setting_gradle_pattern.findall(data):
|
settings_gradle = sg_list[0]
|
||||||
for m in matches:
|
with open(settings_gradle, encoding='utf-8') as fp:
|
||||||
if m:
|
data = fp.read()
|
||||||
gradle_path = m.replace(':', '/')
|
for matches in setting_gradle_pattern.findall(data):
|
||||||
p = os.path.join('build', packageName, gradle_path, 'src', 'main', 'play')
|
for m in matches:
|
||||||
if os.path.exists(p):
|
if m:
|
||||||
gradle_subdirs.add(p)
|
gradle_path = m.replace(':', '/')
|
||||||
flavors = set()
|
p = os.path.join('build', packageName, gradle_path, 'src', 'main', 'play')
|
||||||
if app.get('Builds'):
|
if os.path.exists(p):
|
||||||
flavors = app['Builds'][0].gradle
|
gradle_subdirs.add(p)
|
||||||
for flavor in flavors:
|
flavors = builds[-1].gradle if builds else []
|
||||||
if flavor not in ('yes', 'no'):
|
for flavor in flavors:
|
||||||
p = os.path.join('build', packageName, gradle_path, 'src', flavor, 'play')
|
if flavor not in ('yes', 'no', True, False):
|
||||||
gradle_subdirs.add(p)
|
p = os.path.join('build', packageName, gradle_path, 'src', flavor, 'play')
|
||||||
if not gradle_subdirs and len(app.get('Builds', [])) and app.get('Builds', [])[-1].subdir:
|
if os.path.exists(p):
|
||||||
gradle_subdirs.update(glob.glob(os.path.join('build', packageName, app.get('Builds', [])[-1].subdir, 'src', '*', 'play')))
|
gradle_subdirs.add(p)
|
||||||
if not gradle_subdirs:
|
if not gradle_subdirs:
|
||||||
gradle_subdirs.update(glob.glob(os.path.join('build', packageName, '*', 'src', '*', 'play')))
|
gradle_subdirs.update(glob.glob(os.path.join('build', packageName, '*', 'src', '*', 'play')))
|
||||||
|
|
||||||
|
@ -1077,60 +1078,51 @@ def copy_triple_t_store_metadata(apps):
|
||||||
if f == 'fulldescription' or f == 'full-description.txt':
|
if f == 'fulldescription' or f == 'full-description.txt':
|
||||||
_set_localized_text_entry(app, locale, 'description',
|
_set_localized_text_entry(app, locale, 'description',
|
||||||
os.path.join(root, f))
|
os.path.join(root, f))
|
||||||
continue
|
|
||||||
elif f == 'shortdescription' or f == 'short-description.txt':
|
elif f == 'shortdescription' or f == 'short-description.txt':
|
||||||
_set_localized_text_entry(app, locale, 'summary',
|
_set_localized_text_entry(app, locale, 'summary',
|
||||||
os.path.join(root, f))
|
os.path.join(root, f))
|
||||||
continue
|
|
||||||
elif f == 'title' or f == 'title.txt':
|
elif f == 'title' or f == 'title.txt':
|
||||||
_set_localized_text_entry(app, locale, 'name',
|
_set_localized_text_entry(app, locale, 'name',
|
||||||
os.path.join(root, f))
|
os.path.join(root, f))
|
||||||
continue
|
|
||||||
elif f == 'video' or f == 'video-url.txt':
|
elif f == 'video' or f == 'video-url.txt':
|
||||||
_set_localized_text_entry(app, locale, 'video',
|
_set_localized_text_entry(app, locale, 'video',
|
||||||
os.path.join(root, f))
|
os.path.join(root, f))
|
||||||
continue
|
|
||||||
elif f == 'whatsnew':
|
elif f == 'whatsnew':
|
||||||
_set_localized_text_entry(app, segments[-1], 'whatsNew',
|
_set_localized_text_entry(app, segments[-1], 'whatsNew',
|
||||||
os.path.join(root, f))
|
os.path.join(root, f))
|
||||||
continue
|
|
||||||
elif f == 'default.txt' and segments[-2] == 'release-notes':
|
elif f == 'default.txt' and segments[-2] == 'release-notes':
|
||||||
_set_localized_text_entry(app, locale, 'whatsNew',
|
_set_localized_text_entry(app, locale, 'whatsNew',
|
||||||
os.path.join(root, f))
|
os.path.join(root, f))
|
||||||
continue
|
|
||||||
elif f == 'contactEmail' or f == 'contact-email.txt':
|
elif f == 'contactEmail' or f == 'contact-email.txt':
|
||||||
_set_author_entry(app, 'authorEmail', os.path.join(root, f))
|
_set_author_entry(app, 'authorEmail', os.path.join(root, f))
|
||||||
continue
|
|
||||||
elif f == 'contactPhone' or f == 'contact-phone.txt':
|
elif f == 'contactPhone' or f == 'contact-phone.txt':
|
||||||
_set_author_entry(app, 'authorPhone', os.path.join(root, f))
|
_set_author_entry(app, 'authorPhone', os.path.join(root, f))
|
||||||
continue
|
|
||||||
elif f == 'contactWebsite' or f == 'contact-website.txt':
|
elif f == 'contactWebsite' or f == 'contact-website.txt':
|
||||||
_set_author_entry(app, 'authorWebSite', os.path.join(root, f))
|
_set_author_entry(app, 'authorWebSite', os.path.join(root, f))
|
||||||
continue
|
else:
|
||||||
|
base, extension = common.get_extension(f)
|
||||||
base, extension = common.get_extension(f)
|
dirname = os.path.basename(root)
|
||||||
dirname = os.path.basename(root)
|
if extension in ALLOWED_EXTENSIONS \
|
||||||
if extension in ALLOWED_EXTENSIONS \
|
and (dirname in GRAPHIC_NAMES or dirname in tt_graphic_names
|
||||||
and (dirname in GRAPHIC_NAMES or dirname in tt_graphic_names
|
or dirname in SCREENSHOT_DIRS or dirname in tt_screenshot_dirs):
|
||||||
or dirname in SCREENSHOT_DIRS or dirname in tt_screenshot_dirs):
|
repofilename = os.path.basename(f)
|
||||||
repofilename = os.path.basename(f)
|
if segments[-2] == 'listing':
|
||||||
if segments[-2] == 'listing':
|
locale = segments[-3]
|
||||||
locale = segments[-3]
|
elif segments[-4] == 'listings': # v2.x
|
||||||
elif segments[-4] == 'listings': # v2.x
|
locale = segments[-3]
|
||||||
locale = segments[-3]
|
if dirname in tt_graphic_names:
|
||||||
if dirname in tt_graphic_names:
|
repofilename = GRAPHIC_NAMES[tt_graphic_names.index(dirname)]
|
||||||
repofilename = GRAPHIC_NAMES[tt_graphic_names.index(dirname)]
|
repofilename += '.' + extension
|
||||||
repofilename += '.' + extension
|
dirname = ''
|
||||||
dirname = ''
|
else:
|
||||||
|
dirname = SCREENSHOT_DIRS[tt_screenshot_dirs.index(dirname)]
|
||||||
else:
|
else:
|
||||||
dirname = SCREENSHOT_DIRS[tt_screenshot_dirs.index(dirname)]
|
locale = segments[-2]
|
||||||
else:
|
destdir = os.path.join('repo', packageName, locale, dirname)
|
||||||
locale = segments[-2]
|
os.makedirs(destdir, mode=0o755, exist_ok=True)
|
||||||
destdir = os.path.join('repo', packageName, locale, dirname)
|
sourcefile = os.path.join(root, f)
|
||||||
os.makedirs(destdir, mode=0o755, exist_ok=True)
|
destfile = os.path.join(destdir, repofilename)
|
||||||
sourcefile = os.path.join(root, f)
|
_strip_and_copy_image(sourcefile, destfile)
|
||||||
destfile = os.path.join(destdir, repofilename)
|
|
||||||
_strip_and_copy_image(sourcefile, destfile)
|
|
||||||
|
|
||||||
|
|
||||||
def insert_localized_app_metadata(apps):
|
def insert_localized_app_metadata(apps):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue