mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-05 15:00: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):
|
def _set_localized_text_entry(app, locale, key, f):
|
||||||
limit = config['char_limits'][key]
|
limit = config['char_limits'][key]
|
||||||
localized = _get_localized_dict(app, locale)
|
localized = _get_localized_dict(app, locale)
|
||||||
with open(f) as fp:
|
with open(f, errors='replace') as fp:
|
||||||
text = fp.read()[:limit]
|
text = fp.read()[:limit]
|
||||||
if len(text) > 0:
|
if len(text) > 0:
|
||||||
localized[key] = text
|
localized[key] = text
|
||||||
|
|
@ -703,7 +703,7 @@ def _set_localized_text_entry(app, locale, key, f):
|
||||||
|
|
||||||
def _set_author_entry(app, key, f):
|
def _set_author_entry(app, key, f):
|
||||||
limit = config['char_limits']['author']
|
limit = config['char_limits']['author']
|
||||||
with open(f) as fp:
|
with open(f, errors='replace') as fp:
|
||||||
text = fp.read()[:limit]
|
text = fp.read()[:limit]
|
||||||
if len(text) > 0:
|
if len(text) > 0:
|
||||||
app[key] = text
|
app[key] = text
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue