3 Commits

Author SHA1 Message Date
kolo c9dbf2bbae fix print framed text with static dividing line 2025-04-27 23:27:08 +03:00
kolo e768c1bd2c fix 2025-04-27 21:29:14 +03:00
kolo 408450ec12 fix 2025-04-27 21:20:44 +03:00
7 changed files with 54 additions and 48 deletions
+23 -3
View File
@@ -1,7 +1,27 @@
#from mock.mock_app.handlers.routers import work_router
from argenta.app import App
from argenta.app.defaults import PredefinedMessages
from argenta.app.dividing_line import DynamicDividingLine
from argenta.app.autocompleter import AutoCompleter
from argenta.orchestrator import Orchestrator
from argenta.orchestrator.argparser import ArgParser
from argenta.orchestrator.argparser.arguments import BooleanArgument
app = App(repeat_command_groups=True)
orchestrator = Orchestrator()
orchestrator.start_polling(app)
arg_parser = ArgParser(processed_args=[BooleanArgument('repeat')])
app: App = App()
orchestrator: Orchestrator = Orchestrator()
def main():
#app.include_router(work_router)
'''app.add_message_on_startup(PredefinedMessages.USAGE)
app.add_message_on_startup(PredefinedMessages.AUTOCOMPLETE)
app.add_message_on_startup(PredefinedMessages.HELP)'''
orchestrator.start_polling(app)
if __name__ == "__main__":
main()
+2 -2
View File
@@ -9,14 +9,14 @@ work_router: Router = Router(title='Work points:')
console = Console()
'''@work_router.command(Command('get', 'Get Help', aliases=['help', 'Get_help']))
@work_router.command(Command('get', 'Get Help', aliases=['help', 'Get_help']))
def command_help():
pass
@work_router.command(Command('run', 'Run All'))
def command_start_solving():
pass'''
pass
+1 -1
View File
@@ -1,6 +1,6 @@
[project]
name = "argenta"
version = "1.0.0-alpha2"
version = "1.0.0-alpha5"
description = "Python library for creating TUI"
authors = [{ name = "kolo", email = "kolo.is.main@gmail.com" }]
requires-python = ">=3.11, <4.0"
+2 -2
View File
@@ -14,7 +14,7 @@ class AutoCompleter:
self.autocomplete_button = autocomplete_button
self.matches: list[str] = []
def complete(self, text, state) -> str | None:
def _complete(self, text, state) -> str | None:
"""
Private. Auto-completion function
:param text: part of the command being entered
@@ -51,7 +51,7 @@ class AutoCompleter:
for line in all_commands:
readline.add_history(line)
readline.set_completer(self.complete)
readline.set_completer(self._complete)
readline.set_completer_delims(readline.get_completer_delims().replace(' ', ''))
readline.parse_and_bind(f'{self.autocomplete_button}: complete')
+19 -19
View File
@@ -61,58 +61,58 @@ class BaseApp:
self._exit_command_handler: Callable[[], None] = lambda: print_func(self._farewell_message)
def set_description_message_pattern(self, pattern: Callable[[str, str], str]) -> None:
def set_description_message_pattern(self, _: Callable[[str, str], str]) -> None:
"""
Public. Sets the output pattern of the available commands
:param pattern: output pattern of the available commands
:param _: output pattern of the available commands
:return: None
"""
self._description_message_gen: Callable[[str, str], str] = pattern
self._description_message_gen: Callable[[str, str], str] = _
def set_invalid_input_flags_handler(self, handler: Callable[[str], None]) -> None:
def set_invalid_input_flags_handler(self, _: Callable[[str], None]) -> None:
"""
Public. Sets the handler for incorrect flags when entering a command
:param handler: handler for incorrect flags when entering a command
:param _: handler for incorrect flags when entering a command
:return: None
"""
self._invalid_input_flags_handler = handler
self._invalid_input_flags_handler = _
def set_repeated_input_flags_handler(self, handler: Callable[[str], None]) -> None:
def set_repeated_input_flags_handler(self, _: Callable[[str], None]) -> None:
"""
Public. Sets the handler for repeated flags when entering a command
:param handler: handler for repeated flags when entering a command
:param _: handler for repeated flags when entering a command
:return: None
"""
self._repeated_input_flags_handler = handler
self._repeated_input_flags_handler = _
def set_unknown_command_handler(self, handler: Callable[[str], None]) -> None:
def set_unknown_command_handler(self, _: Callable[[str], None]) -> None:
"""
Public. Sets the handler for unknown commands when entering a command
:param handler: handler for unknown commands when entering a command
:param _: handler for unknown commands when entering a command
:return: None
"""
self._unknown_command_handler = handler
self._unknown_command_handler = _
def set_empty_command_handler(self, handler: Callable[[], None]) -> None:
def set_empty_command_handler(self, _: Callable[[], None]) -> None:
"""
Public. Sets the handler for empty commands when entering a command
:param handler: handler for empty commands when entering a command
:param _: handler for empty commands when entering a command
:return: None
"""
self._empty_input_command_handler = handler
self._empty_input_command_handler = _
def set_exit_command_handler(self, handler: Callable[[], None]) -> None:
def set_exit_command_handler(self, _: Callable[[], None]) -> None:
"""
Public. Sets the handler for exit command when entering a command
:param handler: handler for exit command when entering a command
:param _: handler for exit command when entering a command
:return: None
"""
self._exit_command_handler = handler
self._exit_command_handler = _
def _print_command_group_description(self) -> None:
@@ -138,7 +138,7 @@ class BaseApp:
"""
if isinstance(self._dividing_line, StaticDividingLine):
self._print_func(self._dividing_line.get_full_static_line(self._override_system_messages))
self._print_func(text)
print(text.strip('\n'))
self._print_func(self._dividing_line.get_full_static_line(self._override_system_messages))
elif isinstance(self._dividing_line, DynamicDividingLine):
+4 -10
View File
@@ -1,3 +1,5 @@
from typing import Iterator
from argenta.router import Router
@@ -25,16 +27,8 @@ class RegisteredRouters:
"""
self._registered_routers.append(router)
def add_registered_routers(self, *routers: Router) -> None:
"""
Private. Adds new registered routers
:param routers: registered routers
:return: None
"""
self._registered_routers.extend(routers)
def __iter__(self):
def __iter__(self) -> Iterator[Router]:
return iter(self._registered_routers)
def __next__(self):
def __next__(self) -> Router:
return next(iter(self._registered_routers))
+3 -11
View File
@@ -1,4 +1,4 @@
from typing import Callable
from typing import Callable, Iterator
from argenta.command import Command
from argenta.command.flag import InputFlags
@@ -64,16 +64,8 @@ class CommandHandlers:
"""
self.command_handlers.append(command_handler)
def add_handlers(self, *command_handlers: CommandHandler) -> None:
"""
Private. Extend a many CommandHandler to the list of CommandHandlers
:param command_handlers: many CommandHandler to be added
:return: None
"""
self.command_handlers.extend(command_handlers)
def __iter__(self):
def __iter__(self) -> Iterator[CommandHandler]:
return iter(self.command_handlers)
def __next__(self):
def __next__(self) -> CommandHandler:
return next(iter(self.command_handlers))