mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-04 14:30:30 +03:00
update: use 'replace' mode to handle non-UTF8 description files
Fastlane/Triple-T app store metadata files must be in UTF-8. Before this
would crash if they were not. This changes the handling to just replace
the non-UTF8 chars with a �. Here's the stacktrace:
CRITICAL: Unknown exception found!
Traceback (most recent call last):
File "/var/lib/jenkins/userContent/reproducible/reproducible_fdroid_build_apps/fdroid", line 164, in <module>
main()
File "/var/lib/jenkins/userContent/reproducible/reproducible_fdroid_build_apps/fdroid", line 159, in main
raise e
File "/var/lib/jenkins/userContent/reproducible/reproducible_fdroid_build_apps/fdroid", line 138, in main
mod.main()
File "/var/lib/jenkins/userContent/reproducible/reproducible_fdroid_build_apps/fdroidserver/update.py", line 2010, in main
insert_localized_app_metadata(apps)
File "/var/lib/jenkins/userContent/reproducible/reproducible_fdroid_build_apps/fdroidserver/update.py", line 885, in insert_localized_app_metadata
os.path.join(root, f))
File "/var/lib/jenkins/userContent/reproducible/reproducible_fdroid_build_apps/fdroidserver/update.py", line 700, in _set_localized_text_entry
text = fp.read()[:limit]
File "/usr/lib/python3.5/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfc in position 94: invalid start byte
This commit is contained in:
parent
57556aceee
commit
117d63cca5
1 changed files with 2 additions and 2 deletions
|
|
@ -695,7 +695,7 @@ def _get_localized_dict(app, locale):
|
|||
def _set_localized_text_entry(app, locale, key, f):
|
||||
limit = config['char_limits'][key]
|
||||
localized = _get_localized_dict(app, locale)
|
||||
with open(f) as fp:
|
||||
with open(f, errors='replace') as fp:
|
||||
text = fp.read()[:limit]
|
||||
if len(text) > 0:
|
||||
localized[key] = text
|
||||
|
|
@ -703,7 +703,7 @@ def _set_localized_text_entry(app, locale, key, f):
|
|||
|
||||
def _set_author_entry(app, key, f):
|
||||
limit = config['char_limits']['author']
|
||||
with open(f) as fp:
|
||||
with open(f, errors='replace') as fp:
|
||||
text = fp.read()[:limit]
|
||||
if len(text) > 0:
|
||||
app[key] = text
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue