Skip to content

Commit a9ed1de

Browse files
authored
Merge pull request #1713 from pre-commit/pyvenv_utf8_windows
fix for base executable with non-ascii characters on windows
2 parents 029f9cc + 7486dee commit a9ed1de

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

pre_commit/languages/python.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def _version_info(exe: str) -> str:
3636

3737
def _read_pyvenv_cfg(filename: str) -> Dict[str, str]:
3838
ret = {}
39-
with open(filename) as f:
39+
with open(filename, encoding='UTF-8') as f:
4040
for line in f:
4141
try:
4242
k, v = line.split('=')

tests/languages/python_test.py

+7
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@ def test_read_pyvenv_cfg(tmpdir):
2323
assert python._read_pyvenv_cfg(pyvenv_cfg) == expected
2424

2525

26+
def test_read_pyvenv_cfg_non_utf8(tmpdir):
27+
pyvenv_cfg = tmpdir.join('pyvenv_cfg')
28+
pyvenv_cfg.write_binary('hello = hello john.š\n'.encode())
29+
expected = {'hello': 'hello john.š'}
30+
assert python._read_pyvenv_cfg(pyvenv_cfg) == expected
31+
32+
2633
def test_norm_version_expanduser():
2734
home = os.path.expanduser('~')
2835
if os.name == 'nt': # pragma: nt cover

0 commit comments

Comments
 (0)