fix: resolve RealtimeOutput import error by moving to utils package
Python prefers packages over modules, causing imports to resolve to gui/utils/__init__.py instead of gui/utils.py. Moved RealtimeOutput class into the utils package to fix the ImportError. Co-Authored-By: Claude (glm-5) <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,7 @@ GUI Utilities - GUI 工具模块
|
||||
"""
|
||||
from gui.utils.decorators import require_admin, require_permission
|
||||
from gui.utils.error_handler import ErrorHandler
|
||||
from gui.utils.realtime_output import RealtimeOutput
|
||||
from gui.utils.state_manager import StateManager
|
||||
from gui.utils.validators import Validator, ValidationResult, ValidatedWidget
|
||||
|
||||
@@ -14,6 +15,7 @@ __all__ = [
|
||||
'require_admin',
|
||||
'require_permission',
|
||||
'ErrorHandler',
|
||||
'RealtimeOutput',
|
||||
'StateManager',
|
||||
'Validator',
|
||||
'ValidationResult',
|
||||
|
||||
37
gui/utils/realtime_output.py
Normal file
37
gui/utils/realtime_output.py
Normal file
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
实时输出流模块
|
||||
"""
|
||||
|
||||
|
||||
class RealtimeOutput:
|
||||
"""实时输出流,每次写入立即回调通知"""
|
||||
|
||||
def __init__(self, callback):
|
||||
"""
|
||||
初始化实时输出流
|
||||
|
||||
Args:
|
||||
callback: 写入时的回调函数,接收文本内容
|
||||
"""
|
||||
self.callback = callback
|
||||
self.buffer = []
|
||||
|
||||
def write(self, text):
|
||||
"""写入文本"""
|
||||
if text:
|
||||
# 将文本按行分割,逐行回调
|
||||
lines = text.split("\n")
|
||||
for line in lines:
|
||||
if line: # 忽略空行(由 split 产生)
|
||||
self.callback(line)
|
||||
return len(text)
|
||||
|
||||
def flush(self):
|
||||
"""刷新(兼容性方法)"""
|
||||
pass
|
||||
|
||||
def isatty(self):
|
||||
"""返回 False,表示不是终端"""
|
||||
return False
|
||||
Reference in New Issue
Block a user