mirror of
https://github.com/koloideal/Argenta.git
synced 2026-06-10 10:05:28 +03:00
0.5.0-beta
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
from argenta.app.autocompleter import AutoCompleter
|
||||||
|
|
||||||
# Argenta
|
# Argenta
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -5,7 +7,7 @@
|
|||||||
## Описание
|
## Описание
|
||||||
**Argenta** — Python library for creating TUI
|
**Argenta** — Python library for creating TUI
|
||||||
|
|
||||||

|

|
||||||
Пример внешнего вида TUI, написанного с помощью Argenta
|
Пример внешнего вида TUI, написанного с помощью Argenta
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -95,16 +97,16 @@ def handler_with_flags(flags: InputFlags):
|
|||||||
|
|
||||||
### Конструктор
|
### Конструктор
|
||||||
```python
|
```python
|
||||||
App(prompt: str = 'What do you want to do?\n',
|
App(prompt: str = '[italic dim bold]What do you want to do?\n',
|
||||||
initial_message: str = 'Argenta',
|
initial_message: str = '\nArgenta\n',
|
||||||
farewell_message: str = 'See you',
|
farewell_message: str = '\nSee you\n',
|
||||||
exit_command: str = 'Q',
|
exit_command: Command = Command('Q', 'Exit command'),
|
||||||
exit_command_description: str = 'Exit command',
|
system_points_title: str | None = 'System points:',
|
||||||
system_points_title: str = 'System points:',
|
|
||||||
ignore_command_register: bool = True,
|
ignore_command_register: bool = True,
|
||||||
dividing_line: StaticDividingLine | DynamicDividingLine = StaticDividingLine(),
|
dividing_line: StaticDividingLine | DynamicDividingLine = StaticDividingLine(),
|
||||||
repeat_command_groups: bool = True,
|
repeat_command_groups: bool = True,
|
||||||
full_override_system_messages: bool = False
|
override_system_messages: bool = False,
|
||||||
|
autocompleter: AutoCompleter = AutoCompleter(),
|
||||||
print_func: Callable[[str], None] = Console().print)
|
print_func: Callable[[str], None] = Console().print)
|
||||||
```
|
```
|
||||||
**Аргументы:**
|
**Аргументы:**
|
||||||
@@ -112,13 +114,13 @@ App(prompt: str = 'What do you want to do?\n',
|
|||||||
- `prompt` (`str`): Сообщение перед вводом команды.
|
- `prompt` (`str`): Сообщение перед вводом команды.
|
||||||
- `initial_message` (`str`): Приветственное сообщение при запуске.
|
- `initial_message` (`str`): Приветственное сообщение при запуске.
|
||||||
- `farewell_message` (`str`): Сообщение при выходе.
|
- `farewell_message` (`str`): Сообщение при выходе.
|
||||||
- `exit_command` (`str`): Команда выхода (по умолчанию `'Q'`).
|
- `exit_command` (`Command`): Сущность команды, которая будет отвечать за завершение работы.
|
||||||
- `exit_command_description` (`str`): Описание команды выхода.
|
|
||||||
- `system_points_title` (`str`): Заголовок перед списком системных команд.
|
- `system_points_title` (`str`): Заголовок перед списком системных команд.
|
||||||
- `ignore_command_register` (`bool`): Игнорировать регистр всех команд.
|
- `ignore_command_register` (`bool`): Игнорировать регистр всех команд.
|
||||||
- `dividing_line` (`StaticDividingLine | DynamicDividingLine`): Разделительная строка.
|
- `dividing_line` (`StaticDividingLine | DynamicDividingLine`): Разделительная строка.
|
||||||
- `repeat_command_groups` (`bool`): Повторять описание команд перед вводом.
|
- `repeat_command_groups` (`bool`): Повторять описание команд перед вводом.
|
||||||
- `full_override_system_messages` (`bool`): Переопределить ли дефолтное оформление сообщений ([подробнее см.](#override_defaults))
|
- `override_system_messages` (`bool`): Переопределить ли дефолтное оформление сообщений ([подробнее см.](#override_defaults))
|
||||||
|
- `autocompleter` (`AutoCompleter`): Сущность автодополнителя ввода.
|
||||||
- `print_func` (`Callable[[str], None]`): Функция вывода текста в терминал.
|
- `print_func` (`Callable[[str], None]`): Функция вывода текста в терминал.
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -243,6 +245,26 @@ App(prompt: str = 'What do you want to do?\n',
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## *class* :: `AutoCompleter`
|
||||||
|
Класс, экземпляр которого представляет собой автодополнитель ввода
|
||||||
|
|
||||||
|
### Конструктор
|
||||||
|
```python
|
||||||
|
AutoCompleter(history_filename: str = False,
|
||||||
|
autocomplete_button: str = 'tab')
|
||||||
|
```
|
||||||
|
|
||||||
|
**Аргументы:**
|
||||||
|
- **name : mean**
|
||||||
|
- `history_filename` (`str` | `False`): Путь к файлу, который будет являться или является
|
||||||
|
историй пользовательского ввода, в последующем эти команды будут автодополняться, файл
|
||||||
|
может не существовать при инициализации, тогда он будет создан, при значении аргумента `False`
|
||||||
|
история пользовательского ввода будет существовать только в пределах сессии и не сохраняться в файл
|
||||||
|
- `autocomplete_button` (`str`): Строковое обозначение кнопки на клавиатуре, которая будет
|
||||||
|
использоваться для автодополнения при вводе, по умолчанию `tab`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## *class* :: `StaticDivideLine`
|
## *class* :: `StaticDivideLine`
|
||||||
Класс, экземпляр которого представляет собой строковый разделитель фиксированной длины
|
Класс, экземпляр которого представляет собой строковый разделитель фиксированной длины
|
||||||
|
|
||||||
@@ -278,7 +300,7 @@ DinamicDivideLine(unit_part: str = '-')
|
|||||||
|
|
||||||
### Конструктор
|
### Конструктор
|
||||||
```python
|
```python
|
||||||
Router(title: str = 'Commands group title:',
|
Router(title: str | None = None,
|
||||||
name: str = 'Default')
|
name: str = 'Default')
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
import readline
|
import readline
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class AppInit:
|
|||||||
ignore_command_register: bool = True,
|
ignore_command_register: bool = True,
|
||||||
dividing_line: StaticDividingLine | DynamicDividingLine = StaticDividingLine(),
|
dividing_line: StaticDividingLine | DynamicDividingLine = StaticDividingLine(),
|
||||||
repeat_command_groups: bool = True,
|
repeat_command_groups: bool = True,
|
||||||
full_override_system_messages: bool = False,
|
override_system_messages: bool = False,
|
||||||
autocompleter: AutoCompleter = AutoCompleter(),
|
autocompleter: AutoCompleter = AutoCompleter(),
|
||||||
print_func: Callable[[str], None] = Console().print) -> None:
|
print_func: Callable[[str], None] = Console().print) -> None:
|
||||||
self._prompt = prompt
|
self._prompt = prompt
|
||||||
@@ -42,7 +42,7 @@ class AppInit:
|
|||||||
self._dividing_line = dividing_line
|
self._dividing_line = dividing_line
|
||||||
self._ignore_command_register = ignore_command_register
|
self._ignore_command_register = ignore_command_register
|
||||||
self._repeat_command_groups_description = repeat_command_groups
|
self._repeat_command_groups_description = repeat_command_groups
|
||||||
self._full_override_system_messages = full_override_system_messages
|
self._override_system_messages = override_system_messages
|
||||||
self._autocompleter = autocompleter
|
self._autocompleter = autocompleter
|
||||||
|
|
||||||
self._farewell_message = farewell_message
|
self._farewell_message = farewell_message
|
||||||
@@ -53,10 +53,10 @@ class AppInit:
|
|||||||
self._registered_routers: RegisteredRouters = RegisteredRouters()
|
self._registered_routers: RegisteredRouters = RegisteredRouters()
|
||||||
self._messages_on_startup = []
|
self._messages_on_startup = []
|
||||||
|
|
||||||
self._invalid_input_flags_handler: Callable[[str], None] = lambda raw_command: print_func(f'[red bold]Incorrect flag syntax: {raw_command}')
|
self._invalid_input_flags_handler: Callable[[str], None] = lambda raw_command: print_func(f'[red bold]Incorrect flag syntax: {escape(raw_command)}')
|
||||||
self._repeated_input_flags_handler: Callable[[str], None] = lambda raw_command: print_func(f'[red bold]Repeated input flags: {raw_command}')
|
self._repeated_input_flags_handler: Callable[[str], None] = lambda raw_command: print_func(f'[red bold]Repeated input flags: {escape(raw_command)}')
|
||||||
self._empty_input_command_handler: Callable[[], None] = lambda: print_func('[red bold]Empty input command')
|
self._empty_input_command_handler: Callable[[], None] = lambda: print_func('[red bold]Empty input command')
|
||||||
self._unknown_command_handler: Callable[[InputCommand], None] = lambda command: print_func(f"[red bold]Unknown command: {command.get_trigger()}")
|
self._unknown_command_handler: Callable[[InputCommand], None] = lambda command: print_func(f"[red bold]Unknown command: {escape(command.get_trigger())}")
|
||||||
self._exit_command_handler: Callable[[], None] = lambda: print_func(self._farewell_message)
|
self._exit_command_handler: Callable[[], None] = lambda: print_func(self._farewell_message)
|
||||||
|
|
||||||
|
|
||||||
@@ -112,7 +112,7 @@ class AppNonStandardHandlers(AppPrinters):
|
|||||||
if self._ignore_command_register:
|
if self._ignore_command_register:
|
||||||
system_router.input_command_handler(command)
|
system_router.input_command_handler(command)
|
||||||
return True
|
return True
|
||||||
elif command.get_trigger() == self._exit_command:
|
elif command.get_trigger() == self._exit_command.get_trigger():
|
||||||
system_router.input_command_handler(command)
|
system_router.input_command_handler(command)
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
@@ -128,7 +128,7 @@ class AppNonStandardHandlers(AppPrinters):
|
|||||||
elif handled_command_trigger == command.get_trigger():
|
elif handled_command_trigger == command.get_trigger():
|
||||||
return False
|
return False
|
||||||
elif handled_command_aliases:
|
elif handled_command_aliases:
|
||||||
if command.get_trigger().lower() in [x.lower() for x in handled_command_aliases] and self._ignore_command_register:
|
if (command.get_trigger().lower() in [x.lower() for x in handled_command_aliases]) and self._ignore_command_register:
|
||||||
return False
|
return False
|
||||||
elif command.get_trigger() in handled_command_trigger:
|
elif command.get_trigger() in handled_command_trigger:
|
||||||
return False
|
return False
|
||||||
@@ -179,7 +179,7 @@ class AppSetups(AppValidators, AppPrinters):
|
|||||||
self._registered_routers.add_registered_router(system_router)
|
self._registered_routers.add_registered_router(system_router)
|
||||||
|
|
||||||
def _setup_default_view(self):
|
def _setup_default_view(self):
|
||||||
if not self._full_override_system_messages:
|
if not self._override_system_messages:
|
||||||
self._initial_message = f'\n[bold red]{text2art(self._initial_message, font='tarty1')}\n\n'
|
self._initial_message = f'\n[bold red]{text2art(self._initial_message, font='tarty1')}\n\n'
|
||||||
self._farewell_message = (
|
self._farewell_message = (
|
||||||
f'[bold red]\n{text2art(f'\n{self._farewell_message}\n', font='chanky')}[/bold red]\n'
|
f'[bold red]\n{text2art(f'\n{self._farewell_message}\n', font='chanky')}[/bold red]\n'
|
||||||
|
|||||||
+12
-6
@@ -1,8 +1,14 @@
|
|||||||
from rich.console import Console
|
from argenta.app import App
|
||||||
from rich.markup import escape
|
from argenta.command import Command
|
||||||
|
from argenta.router import Router
|
||||||
|
|
||||||
|
router = Router()
|
||||||
|
|
||||||
console = Console()
|
@router.command(Command('test'))
|
||||||
text = lambda command, description: f'[bold red]{escape('['+command+']')}[/bold red] [blue dim]*=*=*[/blue dim] [bold yellow italic]{escape(description)}'
|
def test():
|
||||||
print(text('start', 'command start'))
|
print('test command')
|
||||||
console.print(text('start', 'command start'))
|
|
||||||
|
app = App(ignore_command_register=False)
|
||||||
|
app.include_router(router)
|
||||||
|
app.set_unknown_command_handler(lambda command: print(f'Unknown command: {command.get_trigger()}'))
|
||||||
|
app.start_polling()
|
||||||
@@ -14,7 +14,7 @@ settings_router: Router = Router()
|
|||||||
console = Console()
|
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():
|
def command_help():
|
||||||
help_command()
|
help_command()
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,7 @@ from argenta.app.autocompleter import AutoCompleter
|
|||||||
|
|
||||||
autocompleter = AutoCompleter('./mock/.hist')
|
autocompleter = AutoCompleter('./mock/.hist')
|
||||||
app: App = App(dividing_line=DynamicDividingLine(),
|
app: App = App(dividing_line=DynamicDividingLine(),
|
||||||
autocompleter=autocompleter,
|
autocompleter=autocompleter)
|
||||||
system_points_title=None)
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "argenta"
|
name = "argenta"
|
||||||
version = "0.5.0-alpha"
|
version = "0.5.0-beta"
|
||||||
description = "Python library for creating TUI"
|
description = "Python library for creating TUI"
|
||||||
authors = [
|
authors = [
|
||||||
{name = "kolo", email = "kolo.is.main@gmail.com"}
|
{name = "kolo", email = "kolo.is.main@gmail.com"}
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test():
|
def test():
|
||||||
print('test command')
|
print('test command')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.set_unknown_command_handler(lambda command: print(f'Unknown command: {command.get_trigger()}'))
|
app.set_unknown_command_handler(lambda command: print(f'Unknown command: {command.get_trigger()}'))
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
@@ -41,7 +42,9 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test():
|
def test():
|
||||||
print('test command')
|
print('test command')
|
||||||
|
|
||||||
app = App(ignore_command_register=False)
|
app = App(ignore_command_register=False,
|
||||||
|
override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.set_unknown_command_handler(lambda command: print(f'Unknown command: {command.get_trigger()}'))
|
app.set_unknown_command_handler(lambda command: print(f'Unknown command: {command.get_trigger()}'))
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
@@ -60,7 +63,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test():
|
def test():
|
||||||
print(f'test command')
|
print(f'test command')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
@@ -78,7 +82,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test():
|
def test():
|
||||||
print('test command')
|
print('test command')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
@@ -97,7 +102,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test(args: InputFlags):
|
def test(args: InputFlags):
|
||||||
print(f'connecting to host {args.get_flag('host').get_value()}')
|
print(f'connecting to host {args.get_flag('host').get_value()}')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
@@ -115,7 +121,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test():
|
def test():
|
||||||
print(f'test command')
|
print(f'test command')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.set_unknown_command_handler(lambda command: print(f'Unknown command: {command.get_trigger()}'))
|
app.set_unknown_command_handler(lambda command: print(f'Unknown command: {command.get_trigger()}'))
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
@@ -138,7 +145,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test():
|
def test():
|
||||||
print(f'more command')
|
print(f'more command')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.set_unknown_command_handler(lambda command: print(f'Unknown command: {command.get_trigger()}'))
|
app.set_unknown_command_handler(lambda command: print(f'Unknown command: {command.get_trigger()}'))
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
@@ -157,7 +165,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test():
|
def test():
|
||||||
print(f'test command')
|
print(f'test command')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.set_invalid_input_flags_handler(lambda command: print(f'Incorrect flag syntax: "{command}"'))
|
app.set_invalid_input_flags_handler(lambda command: print(f'Incorrect flag syntax: "{command}"'))
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
@@ -176,7 +185,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test():
|
def test():
|
||||||
print(f'test command')
|
print(f'test command')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.set_empty_command_handler(lambda: print('Empty input command'))
|
app.set_empty_command_handler(lambda: print('Empty input command'))
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
@@ -195,7 +205,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test(args: InputFlags):
|
def test(args: InputFlags):
|
||||||
print('test command')
|
print('test command')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.set_repeated_input_flags_handler(lambda command: print(f'Repeated input flags: "{command}"'))
|
app.set_repeated_input_flags_handler(lambda command: print(f'Repeated input flags: "{command}"'))
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test():
|
def test():
|
||||||
print('test command')
|
print('test command')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
@@ -40,7 +41,9 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test():
|
def test():
|
||||||
print('test command')
|
print('test command')
|
||||||
|
|
||||||
app = App(ignore_command_register=True)
|
app = App(ignore_command_register=True,
|
||||||
|
override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
@@ -59,7 +62,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test(args: InputFlags):
|
def test(args: InputFlags):
|
||||||
print(f'\nhelp for {args.get_flag('help').get_name()} flag\n')
|
print(f'\nhelp for {args.get_flag('help').get_name()} flag\n')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
@@ -77,7 +81,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test(args: InputFlags):
|
def test(args: InputFlags):
|
||||||
print(f'flag value for {args.get_flag('port').get_name()} flag : {args.get_flag('port').get_value()}')
|
print(f'flag value for {args.get_flag('port').get_name()} flag : {args.get_flag('port').get_value()}')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
@@ -93,10 +98,11 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
flag = PredeterminedFlags.SHORT_HELP
|
flag = PredeterminedFlags.SHORT_HELP
|
||||||
|
|
||||||
@router.command(Command('test', flags=flag))
|
@router.command(Command('test', flags=flag))
|
||||||
def test(args: dict):
|
def test(args: InputFlags):
|
||||||
print(f'help for {args[0].get_name()} flag')
|
print(f'help for {args.get_flag('h').get_name()} flag')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
@@ -116,7 +122,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
if args.get_flag('info'):
|
if args.get_flag('info'):
|
||||||
print('info about test command')
|
print('info about test command')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
@@ -135,7 +142,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test(args: InputFlags):
|
def test(args: InputFlags):
|
||||||
print(f'connecting to host {args[0].get_value()}')
|
print(f'connecting to host {args[0].get_value()}')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
@@ -154,7 +162,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test(args: InputFlags):
|
def test(args: InputFlags):
|
||||||
print(f'connecting to host {args[0].get_value()} and port {args[1].get_value()}')
|
print(f'connecting to host {args[0].get_value()} and port {args[1].get_value()}')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
@@ -176,7 +185,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test2():
|
def test2():
|
||||||
print(f'some command')
|
print(f'some command')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
@@ -202,7 +212,8 @@ class TestSystemHandlerNormalWork(unittest.TestCase):
|
|||||||
def test():
|
def test():
|
||||||
print(f'more command')
|
print(f'more command')
|
||||||
|
|
||||||
app = App()
|
app = App(override_system_messages=True,
|
||||||
|
print_func=print)
|
||||||
app.include_router(router)
|
app.include_router(router)
|
||||||
app.start_polling()
|
app.start_polling()
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
from argenta.app.dividing_line import DynamicDividingLine, StaticDividingLine
|
||||||
|
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
|
||||||
|
class TestDividingLine(unittest.TestCase):
|
||||||
|
def test_get_static_dividing_line_full_line(self):
|
||||||
|
line = StaticDividingLine('-')
|
||||||
|
self.assertEqual(line.get_full_line().count('-'), 25)
|
||||||
|
|
||||||
|
def test_get_dynamic_dividing_line_full_line(self):
|
||||||
|
line = DynamicDividingLine()
|
||||||
|
self.assertEqual(line.get_full_line(20).count('-'), 20)
|
||||||
|
|
||||||
|
def test_get_dividing_line_unit_part(self):
|
||||||
|
line = StaticDividingLine('')
|
||||||
|
self.assertEqual(line.get_unit_part(), ' ')
|
||||||
|
|
||||||
|
def test_get_dividing_line2_unit_part(self):
|
||||||
|
line = StaticDividingLine('+-0987654321!@#$%^&*()_')
|
||||||
|
self.assertEqual(line.get_unit_part(), '+')
|
||||||
Reference in New Issue
Block a user