extract presentation layer

This commit is contained in:
2026-01-30 20:52:52 +03:00
parent d03ce5061b
commit 5f6b3368e1
7 changed files with 239 additions and 161 deletions
+27
View File
@@ -0,0 +1,27 @@
from typing import Iterable
from argenta.app.presentation.renderers import Renderer
from argenta.app.protocols import Printer, DescriptionMessageGenerator
from argenta.app.registered_routers.entity import RegisteredRouters
class Viewer:
def __init__(self, printer: Printer, renderer: Renderer):
self._printer = printer
self._renderer = renderer
def view_messages_on_startup(self, messages: Iterable[str]) -> None:
self._printer(self._renderer.render_messages_on_startup(messages))
def view_command_groups_description(
self,
description_message_generator: DescriptionMessageGenerator,
registered_routers: RegisteredRouters
) -> None:
self._printer(
self._renderer.render_command_groups_description(
description_message_generator,
registered_routers
)
)