From a227ad6e1aa6abfb4980b4cf49ca7e9a49768173 Mon Sep 17 00:00:00 2001 From: westnordost Date: Wed, 23 Jan 2019 11:21:19 +0000 Subject: [PATCH 1/3] change glob filter for graphics to not filter out valid IETF RFC5646 locales (fixes #621 and #357) Also, update the documentation comment to be absolutely clear. The function used to copy images from any locale directory starting with at least two lowercase letters correctly, but only add those to the app metadata that started with two letters plus one big letter or a "-". The same problem did not exist for adding texts to the metadata. --- fdroidserver/update.py | 82 +++++++++++++++++++++++++----------------- 1 file changed, 49 insertions(+), 33 deletions(-) diff --git a/fdroidserver/update.py b/fdroidserver/update.py index 0dc69189..77a779e5 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -817,39 +817,55 @@ def copy_triple_t_store_metadata(apps): def insert_localized_app_metadata(apps): """scans standard locations for graphics and localized text - Scans for localized description files, store graphics, and - screenshot PNG files in statically defined screenshots directory - and adds them to the app metadata. The screenshots and graphic - must be PNG or JPEG files ending with ".png", ".jpg", or ".jpeg" - and must be in the following layout: - # TODO replace these docs with link to All_About_Descriptions_Graphics_and_Screenshots - - repo/packageName/locale/featureGraphic.png - repo/packageName/locale/phoneScreenshots/1.png - repo/packageName/locale/phoneScreenshots/2.png - - The changelog files must be text files named with the versionCode - ending with ".txt" and must be in the following layout: - https://github.com/fastlane/fastlane/blob/2.28.7/supply/README.md#changelogs-whats-new - - repo/packageName/locale/changelogs/12345.txt - - This will scan the each app's source repo then the metadata/ dir - for these standard locations of changelog files. If it finds - them, they will be added to the dict of all packages, with the - versions in the metadata/ folder taking precendence over the what + Scans for localized description files, changelogs, store graphics, and + screenshots and adds them to the app metadata. Each app's source repo root + checked out at /build/ is scanned at the following standard + locations for these files... + + metadata// + fastlane/metadata/android// + src//fastlane/metadata/android// + + ...as well as the /metadata// directory. + + If it finds them, they will be added to the dict of all packages, with the + versions in the /metadata/ folder taking precendence over the what is in the app's source repo. - - Where "packageName" is the app's packageName and "locale" is the locale - of the graphics, e.g. what language they are in, using the IETF RFC5646 - format (en-US, fr-CA, es-MX, etc). - - This will also scan the app's git for a fastlane folder, and the - metadata/ folder and the apps' source repos for standard locations - of graphic and screenshot files. If it finds them, it will copy - them into the repo. The fastlane files follow this pattern: - https://github.com/fastlane/fastlane/blob/2.28.7/supply/README.md#images-and-screenshots - + + The is the locale of the files supplied in that directory, using + the IETF RFC5646 format (e.g. en, en-US, ast, etc). + + For each directory, this script searches for the following files: + + full_description.txt (or description.txt) + short_description.txt (or summary.txt) + title.txt (or name.txt) + video.txt + images/ + ├── featureGraphic.png + ├── icon.png + ├── promoGraphic.png + └── tvBanner.png + changelogs/ + ├── .txt + └── .txt + phoneScreenshots/ + └── *.png, *.jpg or *.jpeg + sevenInchScreenshots/ + └── *.png, *.jpg or *.jpeg + tenInchScreenshots/ + └── *.png, *.jpg or *.jpeg + tvScreenshots/ + └── *.png, *.jpg or *.jpeg + wearScreenshots/ + └── *.png, *.jpg or *.jpeg + + The screenshots directories may either be within the images/ directory or + in the root directory for the locale (as shown here). + + See also this documentation page: + https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/#in-the-apps-build-metadata-in-an-fdroiddata-collection + """ sourcedirs = glob.glob(os.path.join('build', '[A-Za-z]*', 'src', '[A-Za-z]*', 'fastlane', 'metadata', 'android', '[a-z][a-z]*')) @@ -923,7 +939,7 @@ def insert_localized_app_metadata(apps): logging.debug('copying ' + f + ' ' + screenshotdestdir) _strip_and_copy_image(f, screenshotdestdir) - repofiles = sorted(glob.glob(os.path.join('repo', '[A-Za-z]*', '[a-z][a-z][A-Z-.@]*'))) + repofiles = sorted(glob.glob(os.path.join('repo', '[A-Za-z]*', '[a-z][a-z]*'))) for d in repofiles: if not os.path.isdir(d): continue From 50b1e648b2160555552f01c4afb9c5d63c966d0a Mon Sep 17 00:00:00 2001 From: Tobias Zwick Date: Mon, 28 Jan 2019 19:44:03 +0100 Subject: [PATCH 2/3] remove listing about the expected directory structure from the docstring, instead, link the current fastlane docs --- fdroidserver/update.py | 35 +++++------------------------------ 1 file changed, 5 insertions(+), 30 deletions(-) diff --git a/fdroidserver/update.py b/fdroidserver/update.py index 77a779e5..e1765187 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -835,37 +835,12 @@ def insert_localized_app_metadata(apps): The is the locale of the files supplied in that directory, using the IETF RFC5646 format (e.g. en, en-US, ast, etc). - For each directory, this script searches for the following files: - - full_description.txt (or description.txt) - short_description.txt (or summary.txt) - title.txt (or name.txt) - video.txt - images/ - ├── featureGraphic.png - ├── icon.png - ├── promoGraphic.png - └── tvBanner.png - changelogs/ - ├── .txt - └── .txt - phoneScreenshots/ - └── *.png, *.jpg or *.jpeg - sevenInchScreenshots/ - └── *.png, *.jpg or *.jpeg - tenInchScreenshots/ - └── *.png, *.jpg or *.jpeg - tvScreenshots/ - └── *.png, *.jpg or *.jpeg - wearScreenshots/ - └── *.png, *.jpg or *.jpeg - - The screenshots directories may either be within the images/ directory or - in the root directory for the locale (as shown here). - - See also this documentation page: + For each directory, this script searches for the following files + in the directory structure as supplied by fastlane. See + https://docs.fastlane.tools/actions/supply/#images-and-screenshots + + See also our documentation page: https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/#in-the-apps-build-metadata-in-an-fdroiddata-collection - """ sourcedirs = glob.glob(os.path.join('build', '[A-Za-z]*', 'src', '[A-Za-z]*', 'fastlane', 'metadata', 'android', '[a-z][a-z]*')) From 1cbd19e33d586a43bae00d25cb932f38a23bc29a Mon Sep 17 00:00:00 2001 From: Tobias Zwick Date: Wed, 30 Jan 2019 11:29:55 +0100 Subject: [PATCH 3/3] change back link to fastlane docs --- fdroidserver/update.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/fdroidserver/update.py b/fdroidserver/update.py index e1765187..8ae0c330 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -821,25 +821,25 @@ def insert_localized_app_metadata(apps): screenshots and adds them to the app metadata. Each app's source repo root checked out at /build/ is scanned at the following standard locations for these files... - + metadata// fastlane/metadata/android// src//fastlane/metadata/android// - + ...as well as the /metadata// directory. - + If it finds them, they will be added to the dict of all packages, with the versions in the /metadata/ folder taking precendence over the what is in the app's source repo. - - The is the locale of the files supplied in that directory, using - the IETF RFC5646 format (e.g. en, en-US, ast, etc). - - For each directory, this script searches for the following files - in the directory structure as supplied by fastlane. See - https://docs.fastlane.tools/actions/supply/#images-and-screenshots - See also our documentation page: + The is the locale of the files supplied in that directory, using + the IETF RFC5646 format (e.g. en, en-US, ast, etc). + + For each directory, this script searches for the following files + in the directory structure as supplied by fastlane. See + https://github.com/fastlane/fastlane/blob/2.28.7/supply/README.md#images-and-screenshots + + See also our documentation page: https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/#in-the-apps-build-metadata-in-an-fdroiddata-collection """