Запишите в PySimpleGUI.Multiline из журнала. Handler выдает исключение.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Запишите в PySimpleGUI.Multiline из журнала. Handler выдает исключение.

Сообщение Anonymous »


У меня есть PySimpleGUI с кнопкой и многострочным текстом. Когда я нажимаю на кнопку, вызывается метод, который запускается на пару секунд (вызывает, в частности, методы GitPython). Метод должен непрерывно записывать свои выходные данные в многострочный файл. Для этого я создал регистратор и добавил к нему обработчик:

класс OutputHandler(logging.Handler): окно: PySimpleGUI.Window def __init__(self, окно: PySimpleGUI.Window): супер().__init__(регистрация.DEBUG) self.window = окно Защиту излучать (сам, запись): печать(запись.msg) self.window["-OUTPUT-"].print(record.msg) само.окно.обновить() Регистратор пересылается моему методу, и метод печатает в него свои выходные данные. Прогресс GitPython также пересылается в этот регистратор.

Теперь время от времени я сталкиваюсь со следующим исключением:

Исключение в потоке Thread-12 (pump_stream): Traceback (последний вызов последний): Файл "...\Python310\lib\site-packages\git\cmd.py", строка 142, в pump_stream обработчик (строка) Файл "...\Python310\lib\site-packages\git\util.py", строка 662, в обработчике вернуть self._parse_progress_line(line.rstrip()) Файл "...\Python310\lib\site-packages\git\util.py", строка 648, в _parse_progress_line само.обновление( Файл «MyGitPythonApp.py», строка 97, в обновлении. self.logger.info (сообщение) Файл "...\Python310\lib\logging\__init__.py", строка 1477, в информации self._log(INFO, msg, args, **kwargs) Файл "...\Python310\lib\logging\__init__.py", строка 1624, в _log self.handle(запись) Файл "...\Python310\lib\logging\__init__.py", строка 1634, в дескрипторе self.callHandlers(запись) Файл "...\Python310\lib\logging\__init__.py", строка 1696, в callHandlers hdlr.handle(запись) Файл "...\Python310\lib\logging\__init__.py", строка 968, в дескрипторе self.emit(запись) Файл «MyGitPythonApp.py», строка 29, в излучении. self.window["-OUTPUT-"].print(record.msg) Файл "...\Python310\lib\site-packages\PySimpleGUI\PySimpleGUI.py", строка 3582, в печати _print_to_element(self, *args, end=end, sep=sep, text_color=kw_text_color, background_color=kw_background_color, justification=justification, Файл "...\Python310\lib\site-packages\PySimpleGUI\PySimpleGUI.py", строка 17678, в _print_to_element multiline_element.update(outstring, add=True, text_color_for_value=text_color, background_color_for_value=background_color, autoscroll=autoscroll, Файл "...\Python310\lib\site-packages\PySimpleGUI\PySimpleGUI.py", строка 3442, в обновлении начальная_точка = self.Widget.index(tk.INSERT) Файл "...\Python310\lib\tkinter\__init__.py", строка 3767, в индексе return str(self.tk.call(self._w, 'index', index)) RuntimeError: основной поток не находится в основном цикле Вышеупомянутое исключение было непосредственной причиной следующего исключения: Traceback (последний вызов последний): Файл "...\Python310\lib\threading.py", строка 1016, в _bootstrap_inner self.run() Файл "...\Python310\lib\threading.py", строка 953, в запуске self._target(*self._args, **self._kwargs) Файл "...\Python310\lib\site-packages\git\cmd.py", строка 148, в pump_stream поднять CommandError([f""] + remove_password_if_present(cmdline), ex) из ex git.exc.CommandError: Cmd('') не удалось из-за: RuntimeError('основной поток не находится в основном цикле') cmdline: git fetch -v --progress -- origin Что здесь не так?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Flutter Multiline для текста
    Anonymous » » в форуме Android
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как сделать Multiline Chip Group в JetPack Compose?
    Anonymous » » в форуме Android
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Multiline Regex - Сопоставьте только первую строку, игнорируйте остальные линии
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Multiline Regex - Сопоставьте только первую строку, игнорируйте остальные линии
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Файл журнала: выбор конкретного содержимого журнала внутри файла журнала по дате начала и окончания.
    Anonymous » » в форуме Linux
    0 Ответы
    59 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»