From fc60f96abd958204263de97337b3a5d5dcf08f35 Mon Sep 17 00:00:00 2001 From: Kwon-Young Choi Date: Mon, 13 Dec 2021 13:54:24 +0100 Subject: [PATCH 1/4] change ascii decoding to utf-8 for localized languages fixes https://github.com/iterative/scmrepo/issues/16 --- scmrepo/progress.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scmrepo/progress.py b/scmrepo/progress.py index e4d306c6..e13dfcf5 100644 --- a/scmrepo/progress.py +++ b/scmrepo/progress.py @@ -50,7 +50,7 @@ def __init__(self, fn) -> None: def __call__(self, msg: Union[str, bytes]) -> None: self._reporter._parse_progress_line( - msg.decode("ascii").strip() if isinstance(msg, bytes) else msg + msg.decode("utf-8").strip() if isinstance(msg, bytes) else msg ) @staticmethod From d02793c15655fcebca8e663be44b1d0e3a8aa03c Mon Sep 17 00:00:00 2001 From: Kwon-Young Choi Date: Mon, 13 Dec 2021 14:23:11 +0100 Subject: [PATCH 2/4] use the locale preferred encoding --- scmrepo/progress.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scmrepo/progress.py b/scmrepo/progress.py index e13dfcf5..7555bbfc 100644 --- a/scmrepo/progress.py +++ b/scmrepo/progress.py @@ -1,4 +1,5 @@ from typing import NamedTuple, Optional, Union +import locale from funcy import compose @@ -49,8 +50,9 @@ def __init__(self, fn) -> None: self._reporter = CallableRemoteProgress(self.wrap_fn(fn)) def __call__(self, msg: Union[str, bytes]) -> None: + encoding = locale.getpreferredencoding() self._reporter._parse_progress_line( - msg.decode("utf-8").strip() if isinstance(msg, bytes) else msg + msg.decode(encoding).strip() if isinstance(msg, bytes) else msg ) @staticmethod From e9de94b48ca529af80243a25b6a06125df5a9e0a Mon Sep 17 00:00:00 2001 From: Kwon-Young Choi Date: Mon, 13 Dec 2021 16:09:47 +0100 Subject: [PATCH 3/4] nox linting --- scmrepo/progress.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scmrepo/progress.py b/scmrepo/progress.py index 7555bbfc..f3ca5556 100644 --- a/scmrepo/progress.py +++ b/scmrepo/progress.py @@ -1,5 +1,5 @@ -from typing import NamedTuple, Optional, Union import locale +from typing import NamedTuple, Optional, Union from funcy import compose From 32aa5d7a98355684ab60b8708ee7ed7aa16dfda6 Mon Sep 17 00:00:00 2001 From: Kwon-Young Choi Date: Tue, 14 Dec 2021 14:44:16 +0100 Subject: [PATCH 4/4] change back to utf-8 --- scmrepo/progress.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scmrepo/progress.py b/scmrepo/progress.py index f3ca5556..c5524db4 100644 --- a/scmrepo/progress.py +++ b/scmrepo/progress.py @@ -1,4 +1,3 @@ -import locale from typing import NamedTuple, Optional, Union from funcy import compose @@ -50,9 +49,10 @@ def __init__(self, fn) -> None: self._reporter = CallableRemoteProgress(self.wrap_fn(fn)) def __call__(self, msg: Union[str, bytes]) -> None: - encoding = locale.getpreferredencoding() self._reporter._parse_progress_line( - msg.decode(encoding).strip() if isinstance(msg, bytes) else msg + msg.decode("utf-8", errors="replace").strip() + if isinstance(msg, bytes) + else msg ) @staticmethod