console singleton

This commit is contained in:
VineFeeder
2025-09-05 14:15:40 +01:00
parent 21f35e287d
commit d756b132ed
2 changed files with 15 additions and 25 deletions
+3 -25
View File
@@ -15,7 +15,6 @@ from envied.core.commands import Commands
from envied.core.config import config
from envied.core.console import ComfyRichHandler, console
from envied.core.constants import context_settings
from envied.core.update_checker import UpdateChecker
from envied.core.utilities import rotate_log_file
LOGGING_PATH = None
@@ -67,36 +66,15 @@ def main(version: bool, debug: bool, log_path: Path) -> None:
r"░▀▀▀░▀░▀░░▀░░▀▀▀░▀▀▀░▀▀░" + "\n" ,
style="ascii.art",
),
f"\nv [repr.number]{__version__}[/] - https://github.com/unshackle-dl/unshackle",
Text(" and more than unshackled...", style = "ascii.art"),
f"\nv [repr.number]{__version__}[/] - https://github.com/videfeeder/envied",
),
(1, 11, 1, 10),
expand=True,
),
justify="center",
)
'''if version:
return
if config.update_checks:
try:
latest_version = UpdateChecker.check_for_updates_sync(__version__)
if latest_version:
console.print(
f"\n[yellow]⚠️ Update available![/yellow] "
f"Current: {__version__} → Latest: [green]{latest_version}[/green]",
justify="center",
)
console.print(
"Visit: https://github.com/envied-dl/envied/releases/latest\n",
justify="center",
)
except Exception:
pass
'''
@atexit.register
def save_log():
if console.record and LOGGING_PATH:
@@ -167,6 +167,13 @@ class ComfyConsole(Console):
time.monotonic.
"""
_instance: Optional["ComfyConsole"] = None
def __new__(cls, *args, **kwargs):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance
def __init__(
self,
*,
@@ -200,6 +207,10 @@ class ComfyConsole(Console):
_environ: Optional[Mapping[str, str]] = None,
log_renderer: Optional[LogRender] = None,
):
# prevent re-initialisation on repeated calls
if getattr(self, "_initialized", False):
return
super().__init__(
color_system=color_system,
force_terminal=force_terminal,
@@ -232,6 +243,7 @@ class ComfyConsole(Console):
)
if log_renderer:
self._log_render = log_renderer
self._initialized = True
def status(
self,