From 332e4e285606b6dcb08cc5ce5395453c4cbd47fb Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Mon, 6 Nov 2023 09:57:30 +0900 Subject: [PATCH] fix: git_helper's tqdm encoding error --- __init__.py | 15 ++++++++++++--- git_helper.py | 2 +- prestartup_script.py | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/__init__.py b/__init__.py index 1d7d0b1..3bad7ef 100644 --- a/__init__.py +++ b/__init__.py @@ -11,14 +11,23 @@ import subprocess # don't remove this from tqdm.auto import tqdm -version = "V0.39.2" +version = "V0.39.3" print(f"### Loading: ComfyUI-Manager ({version})") def handle_stream(stream, prefix): stream.reconfigure(encoding=locale.getpreferredencoding(), errors='replace') - for line in stream: - print(prefix, line, end="") + for msg in stream: + if prefix == '[!]' and ('it/s]' in msg or 's/it]' in msg) and ('%|' in msg or 'it [' in msg): + if msg.startswith('100%'): + print('\r' + msg, end="", file=sys.stderr), + else: + print('\r' + msg[:-1], end="", file=sys.stderr), + else: + if prefix == '[!]': + print(prefix, msg, end="", file=sys.stderr) + else: + print(prefix, msg, end="") def run_script(cmd, cwd='.'): diff --git a/git_helper.py b/git_helper.py index 73bf9c8..504b5e0 100644 --- a/git_helper.py +++ b/git_helper.py @@ -16,7 +16,7 @@ working_directory = os.getcwd() class GitProgress(RemoteProgress): def __init__(self): super().__init__() - self.pbar = tqdm() + self.pbar = tqdm(ascii=True) def update(self, op_code, cur_count, max_count=None, message=''): self.pbar.total = max_count diff --git a/prestartup_script.py b/prestartup_script.py index 6505313..4c4054a 100644 --- a/prestartup_script.py +++ b/prestartup_script.py @@ -28,7 +28,7 @@ git_script_path = os.path.join(comfyui_manager_path, "git_helper.py") def handle_stream(stream, prefix): stream.reconfigure(encoding=locale.getpreferredencoding(), errors='replace') for msg in stream: - if prefix == '[!]' and ('it/s]' or 's/it]') in msg and ('%|' in msg or 'it [' in msg): + if prefix == '[!]' and ('it/s]' in msg or 's/it]' in msg) and ('%|' in msg or 'it [' in msg): if msg.startswith('100%'): print('\r' + msg, end="", file=sys.stderr), else: