mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-08 00:10:29 +03:00
metadata: always open metadata files as UTF-8
Windows seems to require this, otherwise this happens:
Traceback (most recent call last):
File "tests/update.TestCase", line 737, in test_translate_per_build_anti_features
apps = fdroidserver.metadata.read_metadata(xref=True)
File "C:\Users\travis\build\fdroidtravis\fdroidserver\fdroidserver\metadata.py", line 813, in read_metadata
app = parse_metadata(metadatapath, appid in check_vcs, refresh)
File "C:\Users\travis\build\fdroidtravis\fdroidserver\fdroidserver\metadata.py", line 1023, in parse_metadata
parse_yaml_metadata(mf, app)
File "C:\Users\travis\build\fdroidtravis\fdroidserver\fdroidserver\metadata.py", line 1073, in parse_yaml_metadata
yamldata = yaml.safe_load(mf)
File "C:\python37\lib\site-packages\yaml\__init__.py", line 162, in safe_load
return load(stream, SafeLoader)
File "C:\python37\lib\site-packages\yaml\__init__.py", line 112, in load
loader = Loader(stream)
File "C:\python37\lib\site-packages\yaml\loader.py", line 34, in __init__
Reader.__init__(self, stream)
File "C:\python37\lib\site-packages\yaml\reader.py", line 85, in __init__
self.determine_encoding()
File "C:\python37\lib\site-packages\yaml\reader.py", line 124, in determine_encoding
self.update_raw()
File "C:\python37\lib\site-packages\yaml\reader.py", line 178, in update_raw
data = self.stream.read(size)
File "C:\python37\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 37: character maps to <undefined>
This commit is contained in:
parent
c12007c260
commit
a6d35a7ee1
5 changed files with 13 additions and 13 deletions
|
|
@ -231,8 +231,8 @@ class MetadataTest(unittest.TestCase):
|
|||
self.maxDiff = None
|
||||
file_name = 'fake.ota.update.yml'
|
||||
self.assertEqual(
|
||||
(testdir / file_name).read_text(),
|
||||
(Path('metadata-rewrite-yml') / file_name).read_text(),
|
||||
(testdir / file_name).read_text(encoding='utf-8'),
|
||||
(Path('metadata-rewrite-yml') / file_name).read_text(encoding='utf-8'),
|
||||
)
|
||||
|
||||
def test_rewrite_yaml_fdroidclient(self):
|
||||
|
|
@ -253,8 +253,8 @@ class MetadataTest(unittest.TestCase):
|
|||
self.maxDiff = None
|
||||
file_name = 'org.fdroid.fdroid.yml'
|
||||
self.assertEqual(
|
||||
(testdir / file_name).read_text(),
|
||||
(Path('metadata-rewrite-yml') / file_name).read_text(),
|
||||
(testdir / file_name).read_text(encoding='utf-8'),
|
||||
(Path('metadata-rewrite-yml') / file_name).read_text(encoding='utf-8'),
|
||||
)
|
||||
|
||||
def test_rewrite_yaml_special_build_params(self):
|
||||
|
|
@ -274,8 +274,8 @@ class MetadataTest(unittest.TestCase):
|
|||
self.maxDiff = None
|
||||
file_name = 'app.with.special.build.params.yml'
|
||||
self.assertEqual(
|
||||
(testdir / file_name).read_text(),
|
||||
(Path('metadata-rewrite-yml') / file_name).read_text(),
|
||||
(testdir / file_name).read_text(encoding='utf-8'),
|
||||
(Path('metadata-rewrite-yml') / file_name).read_text(encoding='utf-8'),
|
||||
)
|
||||
|
||||
def test_post_parse_yaml_metadata(self):
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ class RewriteMetaTest(unittest.TestCase):
|
|||
rewritemeta.main()
|
||||
|
||||
self.assertEqual(
|
||||
Path('metadata/a.yml').read_text(),
|
||||
Path('metadata/a.yml').read_text(encoding='utf-8'),
|
||||
textwrap.dedent(
|
||||
'''\
|
||||
License: Unknown
|
||||
|
|
@ -62,7 +62,7 @@ class RewriteMetaTest(unittest.TestCase):
|
|||
)
|
||||
|
||||
self.assertEqual(
|
||||
Path('metadata/b.yml').read_text(),
|
||||
Path('metadata/b.yml').read_text(encoding='utf-8'),
|
||||
textwrap.dedent(
|
||||
'''\
|
||||
License: Unknown
|
||||
|
|
@ -90,7 +90,7 @@ class RewriteMetaTest(unittest.TestCase):
|
|||
rewritemeta.main()
|
||||
|
||||
self.assertEqual(
|
||||
Path('metadata/a.yml').read_text(), 'AutoName: a'
|
||||
Path('metadata/a.yml').read_text(encoding='utf-8'), 'AutoName: a'
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue