mirror of
https://github.com/koloideal/Argenta.git
synced 2026-06-10 10:05:28 +03:00
extract presentation layer
This commit is contained in:
@@ -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
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user