argenta 0.3.6__tar.gz → 0.3.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {argenta-0.3.6 → argenta-0.3.7}/PKG-INFO +49 -42
- {argenta-0.3.6 → argenta-0.3.7}/README.md +48 -41
- {argenta-0.3.6 → argenta-0.3.7}/argenta/router/entity.py +1 -1
- {argenta-0.3.6 → argenta-0.3.7}/pyproject.toml +1 -1
- {argenta-0.3.6 → argenta-0.3.7}/LICENSE +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/__init__.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/app/__init__.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/app/entity.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/app/exceptions.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/command/__init__.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/command/entity.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/command/exceptions.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/command/params/__init__.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/command/params/flag/__init__.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/command/params/flag/entity.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/command/params/flag/flags_group/__init__.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/command/params/flag/flags_group/entity.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/router/__init__.py +0 -0
- {argenta-0.3.6 → argenta-0.3.7}/argenta/router/exceptions.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: argenta
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.7
|
4
4
|
Summary: python library for creating custom shells
|
5
5
|
License: MIT
|
6
6
|
Author: kolo
|
@@ -35,7 +35,7 @@ poetry add argenta
|
|
35
35
|
|
36
36
|
# Быстрый старт
|
37
37
|
|
38
|
-
Пример простейшей оболочки с командой без флагов
|
38
|
+
Пример простейшей оболочки с командой без зарегистрированных флагов
|
39
39
|
```python
|
40
40
|
# routers.py
|
41
41
|
from argenta.router import Router
|
@@ -75,14 +75,12 @@ from argenta.command.params.flag import FlagsGroup, Flag
|
|
75
75
|
|
76
76
|
router = Router()
|
77
77
|
|
78
|
-
|
78
|
+
registered_flags = FlagsGroup([
|
79
79
|
Flag(flag_name='host',
|
80
80
|
flag_prefix='--',
|
81
81
|
possible_flag_values=re.compile(r'^192.168.\d{1,3}.\d{1,3}$')),
|
82
|
-
Flag(
|
83
|
-
|
84
|
-
possible_flag_values=re.compile(r'^[0-9]{1,4}$'))
|
85
|
-
]
|
82
|
+
Flag('port', '---', re.compile(r'^[0-9]{1,4}$'))
|
83
|
+
])
|
86
84
|
|
87
85
|
|
88
86
|
@router.command(Command("hello"))
|
@@ -92,10 +90,10 @@ def handler():
|
|
92
90
|
|
93
91
|
@router.command(Command(trigger="ssh",
|
94
92
|
description='connect via ssh',
|
95
|
-
flags=
|
93
|
+
flags=registered_flags))
|
96
94
|
def handler_with_flags(flags: dict):
|
97
95
|
for flag in flags:
|
98
|
-
print(f'Flag name: {flag['name']}\n
|
96
|
+
print(f'Flag name: {flag['name']}\n'
|
99
97
|
f'Flag value: {flag['value']}')
|
100
98
|
```
|
101
99
|
|
@@ -105,7 +103,7 @@ def handler_with_flags(flags: dict):
|
|
105
103
|
|
106
104
|
---
|
107
105
|
|
108
|
-
## *class*
|
106
|
+
## *class* : : `App`
|
109
107
|
Класс, определяющий поведение и состояние оболочки
|
110
108
|
|
111
109
|
### Конструктор
|
@@ -144,52 +142,57 @@ App(prompt: str = 'Enter a command',
|
|
144
142
|
|
145
143
|
---
|
146
144
|
|
147
|
-
|
145
|
+
#### **.start_polling() -> `None`**
|
148
146
|
|
149
|
-
*method mean* **::** запускает
|
147
|
+
*method mean* **::** запускает цикл обработки ввода
|
150
148
|
|
151
149
|
---
|
152
150
|
|
153
|
-
|
151
|
+
#### **.include_router(router: Router) -> `None`**
|
154
152
|
|
155
|
-
*param* `router: Router` **::** регистрируемый роутер
|
153
|
+
*param* `router: Router` **::** регистрируемый роутер
|
154
|
+
*required* **::** True
|
156
155
|
|
157
|
-
*method mean* **::** регистрирует роутер в
|
156
|
+
*method mean* **::** регистрирует роутер в оболочке
|
158
157
|
|
159
158
|
---
|
160
159
|
|
161
|
-
|
160
|
+
#### **.set_initial_message(message: str) -> `None`**
|
162
161
|
|
163
162
|
*param* `message: str` **::** устанавливаемое приветственное сообщение
|
163
|
+
*required* **::** True
|
164
164
|
*example* **::** `"Hello, I'm a example app"`
|
165
165
|
|
166
166
|
*method mean* **::** устанавливает сообщение, которое будет отображено при запуске программы
|
167
167
|
|
168
168
|
---
|
169
169
|
|
170
|
-
|
170
|
+
#### **.set_farewell_message(message: str) -> `None`**
|
171
171
|
|
172
172
|
*param* `message: str` **::** устанавливаемое сообщение при выходе
|
173
|
+
*required* **::** True
|
173
174
|
*example* **::** `"GoodBye !"`
|
174
175
|
|
175
176
|
*method mean* **::** устанавливает сообщение, которое будет отображено при выходе
|
176
177
|
|
177
178
|
---
|
178
179
|
|
179
|
-
|
180
|
+
#### **.set_description_message_pattern(pattern: str) -> `None`**
|
180
181
|
|
181
182
|
*param* `pattern: str` **::** паттерн описания команды при её выводе в консоль
|
183
|
+
*required* **::** True
|
182
184
|
*example* **::** `"[{command}] *=*=* {description}"`
|
183
185
|
|
184
186
|
*method mean* **::** устанавливает паттерн описания команд, который будет использован
|
185
187
|
при выводе в консоль
|
186
188
|
|
187
189
|
---
|
188
|
-
|
189
|
-
|
190
|
+
<a name="custom_handler"></a>
|
191
|
+
#### **.set_repeated_input_flags_handler(handler: Callable[[str], None]) -> `None`**
|
190
192
|
|
191
193
|
*param* `handler: Callable[[str], None]` **::** функция или лямбда функция, которой будет передано управление при
|
192
|
-
вводе юзером повторяющихся флагов
|
194
|
+
вводе юзером повторяющихся флагов
|
195
|
+
*required* **::** True
|
193
196
|
*example* **::** `lambda raw_command: print_func(f'Repeated input flags: "{raw_command}"')`
|
194
197
|
|
195
198
|
*method mean* **::** устанавливает функцию, которой будет передано управление при
|
@@ -197,10 +200,11 @@ App(prompt: str = 'Enter a command',
|
|
197
200
|
|
198
201
|
---
|
199
202
|
|
200
|
-
|
203
|
+
#### **.set_invalid_input_flags_handler(self, handler: Callable[[str], None]) -> `None`**
|
201
204
|
|
202
205
|
*param* `handler: Callable[[str], None]` **::** функция или лямбда функция, которой будет передано управление при
|
203
206
|
вводе юзером команды с некорректным синтаксисом флагов
|
207
|
+
*required* **::** True
|
204
208
|
*example* **::** `lambda raw_command: print_func(f'Incorrect flag syntax: "{raw_command}"')`
|
205
209
|
|
206
210
|
*method mean* **::** устанавливает функцию, которой будет передано управление при
|
@@ -208,10 +212,11 @@ App(prompt: str = 'Enter a command',
|
|
208
212
|
|
209
213
|
---
|
210
214
|
|
211
|
-
|
215
|
+
#### **.set_unknown_command_handler(self, handler: Callable[[str], None]) -> `None`**
|
212
216
|
|
213
217
|
*param* `handler: Callable[[str], None]` **::** функция или лямбда функция, которой будет передано управление при
|
214
218
|
вводе юзером неизвестной команды
|
219
|
+
*required* **::** True
|
215
220
|
*example* **::** `lambda command: print_func(f"Unknown command: {command.get_string_entity()}")`
|
216
221
|
|
217
222
|
*method mean* **::** устанавливает функцию, которой будет передано управление при
|
@@ -219,10 +224,11 @@ App(prompt: str = 'Enter a command',
|
|
219
224
|
|
220
225
|
---
|
221
226
|
|
222
|
-
|
227
|
+
#### **.set_empty_command_handler(self, handler: Callable[[str], None]) -> `None`**
|
223
228
|
|
224
229
|
*param* `handler: Callable[[str], None]` **::** функция или лямбда функция, которой будет передано управление при
|
225
|
-
вводе юзером пустой команды
|
230
|
+
вводе юзером пустой команды
|
231
|
+
*required* **::** True
|
226
232
|
*example* **::** `lambda: print_func(f'Empty input command')`
|
227
233
|
|
228
234
|
*method mean* **::** устанавливает функцию, которой будет передано управление при
|
@@ -234,10 +240,10 @@ App(prompt: str = 'Enter a command',
|
|
234
240
|
|
235
241
|
- В устанавливаемом паттерне сообщения описания команды необходимы быть два ключевых слова:
|
236
242
|
`command` и `description`, каждое из которых должно быть заключено в фигурные скобки, после обработки
|
237
|
-
паттерна на места этих ключевых слов будут подставлены соответствующие
|
243
|
+
паттерна на места этих ключевых слов будут подставлены соответствующие атрибуты команды, при отсутствии
|
238
244
|
этих двух ключевых слов будет вызвано исключение `InvalidDescriptionMessagePatternException`
|
239
245
|
|
240
|
-
- Команды
|
246
|
+
- Команды оболочки не должны повторяться, при значении атрибута `ignore_command_register` равным `True`
|
241
247
|
допускается создание обработчиков для разных регистров одинаковых символов в команде, для примера `u` и `U`,
|
242
248
|
при значении атрибута `ignore_command_register` класса `App` равным `False` тот же пример вызывает исключение
|
243
249
|
`RepeatedCommandInDifferentRoutersException`. Исключение вызывается только при наличии пересекающихся команд
|
@@ -263,7 +269,7 @@ App(prompt: str = 'Enter a command',
|
|
263
269
|
### Конструктор
|
264
270
|
```python
|
265
271
|
Router(title: str = 'Commands group title:',
|
266
|
-
name: str = '
|
272
|
+
name: str = 'Default')
|
267
273
|
```
|
268
274
|
|
269
275
|
|
@@ -279,29 +285,30 @@ Router(title: str = 'Commands group title:',
|
|
279
285
|
|
280
286
|
---
|
281
287
|
|
282
|
-
|
288
|
+
#### **command(command: Command)**
|
283
289
|
|
284
290
|
*param* `command: Command` **::** экземпляр класса `Command`, который определяет строковый триггер команды,
|
285
|
-
допустимые флаги команды и другое
|
291
|
+
допустимые флаги команды и другое
|
292
|
+
*required* **::** True
|
286
293
|
*example* **::** `Command(command='ssh', description='connect via ssh')`
|
287
294
|
|
288
295
|
*method mean* **::** декоратор, который регистрирует функцию как обработчик команды
|
289
296
|
|
290
297
|
---
|
291
298
|
|
292
|
-
|
299
|
+
#### **.get_name() -> `str`**
|
293
300
|
|
294
301
|
*method mean* **::** возвращает установленное название роутера
|
295
302
|
|
296
303
|
---
|
297
304
|
|
298
|
-
|
305
|
+
#### **.get_title() -> `str`**
|
299
306
|
|
300
307
|
*method mean* **::** возвращает установленный заголовок группы команд данного роутера
|
301
308
|
|
302
309
|
---
|
303
310
|
|
304
|
-
|
311
|
+
#### **.get_all_commands() -> `list[str]`**
|
305
312
|
|
306
313
|
*method mean* **::** возвращает все зарегистрированные команды для данного роутера
|
307
314
|
|
@@ -334,19 +341,19 @@ Command(trigger: str,
|
|
334
341
|
|
335
342
|
---
|
336
343
|
|
337
|
-
|
344
|
+
#### **.get_trigger() -> `str`**
|
338
345
|
|
339
346
|
*method mean* **::** возвращает строковый триггер экземпляра
|
340
347
|
|
341
348
|
---
|
342
349
|
|
343
|
-
|
350
|
+
#### **.get_description() -> `str`**
|
344
351
|
|
345
352
|
*method mean* **::** возвращает описание команды
|
346
353
|
|
347
354
|
---
|
348
355
|
|
349
|
-
|
356
|
+
#### **.get_registered_flags() -> `FlagsGroup | None`**
|
350
357
|
|
351
358
|
*method mean* **::** возвращает зарегистрированные флаги экземпляра
|
352
359
|
|
@@ -360,12 +367,12 @@ Command(trigger: str,
|
|
360
367
|
**Примечание**
|
361
368
|
Все вышеуказанные исключения класса `Command` вызываются в рантайме запущенным экземпляром класса
|
362
369
|
`App`, а также по дефолту обрабатываются, при желании можно задать пользовательские
|
363
|
-
обработчики для этих исключений ([подробнее см.](#
|
370
|
+
обработчики для этих исключений ([подробнее см.](#custom_handler))
|
364
371
|
|
365
372
|
---
|
366
373
|
|
367
374
|
## *class* :: `Flag`
|
368
|
-
Класс, экземпляры которого в большинстве случаев
|
375
|
+
Класс, экземпляры которого в большинстве случаев передаются при создании
|
369
376
|
экземпляра класса `Command` для регистрации допустимого флага при вводе юзером команды
|
370
377
|
|
371
378
|
### Конструктор
|
@@ -392,19 +399,19 @@ Flag(flag_name: str,
|
|
392
399
|
|
393
400
|
---
|
394
401
|
|
395
|
-
|
402
|
+
#### **.get_string_entity() -> `str`**
|
396
403
|
|
397
404
|
*method mean* **::** возвращает строковое представление флага(префикс + имя)
|
398
405
|
|
399
406
|
---
|
400
407
|
|
401
|
-
|
408
|
+
#### **.get_flag_name() -> `str`**
|
402
409
|
|
403
410
|
*method mean* **::** возвращает имя флага
|
404
411
|
|
405
412
|
---
|
406
413
|
|
407
|
-
|
414
|
+
#### **.get_flag_prefix() -> `str`**
|
408
415
|
|
409
416
|
*method mean* **::** возвращает префикс флага
|
410
417
|
|
@@ -432,7 +439,7 @@ FlagsGroup(flags: list[Flag] = None)
|
|
432
439
|
|
433
440
|
---
|
434
441
|
|
435
|
-
|
442
|
+
#### **.get_flags() -> `list[Flag]`**
|
436
443
|
|
437
444
|
*method mean* **::** возвращает зарегистрированные флаги
|
438
445
|
|
@@ -20,7 +20,7 @@ poetry add argenta
|
|
20
20
|
|
21
21
|
# Быстрый старт
|
22
22
|
|
23
|
-
Пример простейшей оболочки с командой без флагов
|
23
|
+
Пример простейшей оболочки с командой без зарегистрированных флагов
|
24
24
|
```python
|
25
25
|
# routers.py
|
26
26
|
from argenta.router import Router
|
@@ -60,14 +60,12 @@ from argenta.command.params.flag import FlagsGroup, Flag
|
|
60
60
|
|
61
61
|
router = Router()
|
62
62
|
|
63
|
-
|
63
|
+
registered_flags = FlagsGroup([
|
64
64
|
Flag(flag_name='host',
|
65
65
|
flag_prefix='--',
|
66
66
|
possible_flag_values=re.compile(r'^192.168.\d{1,3}.\d{1,3}$')),
|
67
|
-
Flag(
|
68
|
-
|
69
|
-
possible_flag_values=re.compile(r'^[0-9]{1,4}$'))
|
70
|
-
]
|
67
|
+
Flag('port', '---', re.compile(r'^[0-9]{1,4}$'))
|
68
|
+
])
|
71
69
|
|
72
70
|
|
73
71
|
@router.command(Command("hello"))
|
@@ -77,10 +75,10 @@ def handler():
|
|
77
75
|
|
78
76
|
@router.command(Command(trigger="ssh",
|
79
77
|
description='connect via ssh',
|
80
|
-
flags=
|
78
|
+
flags=registered_flags))
|
81
79
|
def handler_with_flags(flags: dict):
|
82
80
|
for flag in flags:
|
83
|
-
print(f'Flag name: {flag['name']}\n
|
81
|
+
print(f'Flag name: {flag['name']}\n'
|
84
82
|
f'Flag value: {flag['value']}')
|
85
83
|
```
|
86
84
|
|
@@ -90,7 +88,7 @@ def handler_with_flags(flags: dict):
|
|
90
88
|
|
91
89
|
---
|
92
90
|
|
93
|
-
## *class*
|
91
|
+
## *class* : : `App`
|
94
92
|
Класс, определяющий поведение и состояние оболочки
|
95
93
|
|
96
94
|
### Конструктор
|
@@ -129,52 +127,57 @@ App(prompt: str = 'Enter a command',
|
|
129
127
|
|
130
128
|
---
|
131
129
|
|
132
|
-
|
130
|
+
#### **.start_polling() -> `None`**
|
133
131
|
|
134
|
-
*method mean* **::** запускает
|
132
|
+
*method mean* **::** запускает цикл обработки ввода
|
135
133
|
|
136
134
|
---
|
137
135
|
|
138
|
-
|
136
|
+
#### **.include_router(router: Router) -> `None`**
|
139
137
|
|
140
|
-
*param* `router: Router` **::** регистрируемый роутер
|
138
|
+
*param* `router: Router` **::** регистрируемый роутер
|
139
|
+
*required* **::** True
|
141
140
|
|
142
|
-
*method mean* **::** регистрирует роутер в
|
141
|
+
*method mean* **::** регистрирует роутер в оболочке
|
143
142
|
|
144
143
|
---
|
145
144
|
|
146
|
-
|
145
|
+
#### **.set_initial_message(message: str) -> `None`**
|
147
146
|
|
148
147
|
*param* `message: str` **::** устанавливаемое приветственное сообщение
|
148
|
+
*required* **::** True
|
149
149
|
*example* **::** `"Hello, I'm a example app"`
|
150
150
|
|
151
151
|
*method mean* **::** устанавливает сообщение, которое будет отображено при запуске программы
|
152
152
|
|
153
153
|
---
|
154
154
|
|
155
|
-
|
155
|
+
#### **.set_farewell_message(message: str) -> `None`**
|
156
156
|
|
157
157
|
*param* `message: str` **::** устанавливаемое сообщение при выходе
|
158
|
+
*required* **::** True
|
158
159
|
*example* **::** `"GoodBye !"`
|
159
160
|
|
160
161
|
*method mean* **::** устанавливает сообщение, которое будет отображено при выходе
|
161
162
|
|
162
163
|
---
|
163
164
|
|
164
|
-
|
165
|
+
#### **.set_description_message_pattern(pattern: str) -> `None`**
|
165
166
|
|
166
167
|
*param* `pattern: str` **::** паттерн описания команды при её выводе в консоль
|
168
|
+
*required* **::** True
|
167
169
|
*example* **::** `"[{command}] *=*=* {description}"`
|
168
170
|
|
169
171
|
*method mean* **::** устанавливает паттерн описания команд, который будет использован
|
170
172
|
при выводе в консоль
|
171
173
|
|
172
174
|
---
|
173
|
-
|
174
|
-
|
175
|
+
<a name="custom_handler"></a>
|
176
|
+
#### **.set_repeated_input_flags_handler(handler: Callable[[str], None]) -> `None`**
|
175
177
|
|
176
178
|
*param* `handler: Callable[[str], None]` **::** функция или лямбда функция, которой будет передано управление при
|
177
|
-
вводе юзером повторяющихся флагов
|
179
|
+
вводе юзером повторяющихся флагов
|
180
|
+
*required* **::** True
|
178
181
|
*example* **::** `lambda raw_command: print_func(f'Repeated input flags: "{raw_command}"')`
|
179
182
|
|
180
183
|
*method mean* **::** устанавливает функцию, которой будет передано управление при
|
@@ -182,10 +185,11 @@ App(prompt: str = 'Enter a command',
|
|
182
185
|
|
183
186
|
---
|
184
187
|
|
185
|
-
|
188
|
+
#### **.set_invalid_input_flags_handler(self, handler: Callable[[str], None]) -> `None`**
|
186
189
|
|
187
190
|
*param* `handler: Callable[[str], None]` **::** функция или лямбда функция, которой будет передано управление при
|
188
191
|
вводе юзером команды с некорректным синтаксисом флагов
|
192
|
+
*required* **::** True
|
189
193
|
*example* **::** `lambda raw_command: print_func(f'Incorrect flag syntax: "{raw_command}"')`
|
190
194
|
|
191
195
|
*method mean* **::** устанавливает функцию, которой будет передано управление при
|
@@ -193,10 +197,11 @@ App(prompt: str = 'Enter a command',
|
|
193
197
|
|
194
198
|
---
|
195
199
|
|
196
|
-
|
200
|
+
#### **.set_unknown_command_handler(self, handler: Callable[[str], None]) -> `None`**
|
197
201
|
|
198
202
|
*param* `handler: Callable[[str], None]` **::** функция или лямбда функция, которой будет передано управление при
|
199
203
|
вводе юзером неизвестной команды
|
204
|
+
*required* **::** True
|
200
205
|
*example* **::** `lambda command: print_func(f"Unknown command: {command.get_string_entity()}")`
|
201
206
|
|
202
207
|
*method mean* **::** устанавливает функцию, которой будет передано управление при
|
@@ -204,10 +209,11 @@ App(prompt: str = 'Enter a command',
|
|
204
209
|
|
205
210
|
---
|
206
211
|
|
207
|
-
|
212
|
+
#### **.set_empty_command_handler(self, handler: Callable[[str], None]) -> `None`**
|
208
213
|
|
209
214
|
*param* `handler: Callable[[str], None]` **::** функция или лямбда функция, которой будет передано управление при
|
210
|
-
вводе юзером пустой команды
|
215
|
+
вводе юзером пустой команды
|
216
|
+
*required* **::** True
|
211
217
|
*example* **::** `lambda: print_func(f'Empty input command')`
|
212
218
|
|
213
219
|
*method mean* **::** устанавливает функцию, которой будет передано управление при
|
@@ -219,10 +225,10 @@ App(prompt: str = 'Enter a command',
|
|
219
225
|
|
220
226
|
- В устанавливаемом паттерне сообщения описания команды необходимы быть два ключевых слова:
|
221
227
|
`command` и `description`, каждое из которых должно быть заключено в фигурные скобки, после обработки
|
222
|
-
паттерна на места этих ключевых слов будут подставлены соответствующие
|
228
|
+
паттерна на места этих ключевых слов будут подставлены соответствующие атрибуты команды, при отсутствии
|
223
229
|
этих двух ключевых слов будет вызвано исключение `InvalidDescriptionMessagePatternException`
|
224
230
|
|
225
|
-
- Команды
|
231
|
+
- Команды оболочки не должны повторяться, при значении атрибута `ignore_command_register` равным `True`
|
226
232
|
допускается создание обработчиков для разных регистров одинаковых символов в команде, для примера `u` и `U`,
|
227
233
|
при значении атрибута `ignore_command_register` класса `App` равным `False` тот же пример вызывает исключение
|
228
234
|
`RepeatedCommandInDifferentRoutersException`. Исключение вызывается только при наличии пересекающихся команд
|
@@ -248,7 +254,7 @@ App(prompt: str = 'Enter a command',
|
|
248
254
|
### Конструктор
|
249
255
|
```python
|
250
256
|
Router(title: str = 'Commands group title:',
|
251
|
-
name: str = '
|
257
|
+
name: str = 'Default')
|
252
258
|
```
|
253
259
|
|
254
260
|
|
@@ -264,29 +270,30 @@ Router(title: str = 'Commands group title:',
|
|
264
270
|
|
265
271
|
---
|
266
272
|
|
267
|
-
|
273
|
+
#### **command(command: Command)**
|
268
274
|
|
269
275
|
*param* `command: Command` **::** экземпляр класса `Command`, который определяет строковый триггер команды,
|
270
|
-
допустимые флаги команды и другое
|
276
|
+
допустимые флаги команды и другое
|
277
|
+
*required* **::** True
|
271
278
|
*example* **::** `Command(command='ssh', description='connect via ssh')`
|
272
279
|
|
273
280
|
*method mean* **::** декоратор, который регистрирует функцию как обработчик команды
|
274
281
|
|
275
282
|
---
|
276
283
|
|
277
|
-
|
284
|
+
#### **.get_name() -> `str`**
|
278
285
|
|
279
286
|
*method mean* **::** возвращает установленное название роутера
|
280
287
|
|
281
288
|
---
|
282
289
|
|
283
|
-
|
290
|
+
#### **.get_title() -> `str`**
|
284
291
|
|
285
292
|
*method mean* **::** возвращает установленный заголовок группы команд данного роутера
|
286
293
|
|
287
294
|
---
|
288
295
|
|
289
|
-
|
296
|
+
#### **.get_all_commands() -> `list[str]`**
|
290
297
|
|
291
298
|
*method mean* **::** возвращает все зарегистрированные команды для данного роутера
|
292
299
|
|
@@ -319,19 +326,19 @@ Command(trigger: str,
|
|
319
326
|
|
320
327
|
---
|
321
328
|
|
322
|
-
|
329
|
+
#### **.get_trigger() -> `str`**
|
323
330
|
|
324
331
|
*method mean* **::** возвращает строковый триггер экземпляра
|
325
332
|
|
326
333
|
---
|
327
334
|
|
328
|
-
|
335
|
+
#### **.get_description() -> `str`**
|
329
336
|
|
330
337
|
*method mean* **::** возвращает описание команды
|
331
338
|
|
332
339
|
---
|
333
340
|
|
334
|
-
|
341
|
+
#### **.get_registered_flags() -> `FlagsGroup | None`**
|
335
342
|
|
336
343
|
*method mean* **::** возвращает зарегистрированные флаги экземпляра
|
337
344
|
|
@@ -345,12 +352,12 @@ Command(trigger: str,
|
|
345
352
|
**Примечание**
|
346
353
|
Все вышеуказанные исключения класса `Command` вызываются в рантайме запущенным экземпляром класса
|
347
354
|
`App`, а также по дефолту обрабатываются, при желании можно задать пользовательские
|
348
|
-
обработчики для этих исключений ([подробнее см.](#
|
355
|
+
обработчики для этих исключений ([подробнее см.](#custom_handler))
|
349
356
|
|
350
357
|
---
|
351
358
|
|
352
359
|
## *class* :: `Flag`
|
353
|
-
Класс, экземпляры которого в большинстве случаев
|
360
|
+
Класс, экземпляры которого в большинстве случаев передаются при создании
|
354
361
|
экземпляра класса `Command` для регистрации допустимого флага при вводе юзером команды
|
355
362
|
|
356
363
|
### Конструктор
|
@@ -377,19 +384,19 @@ Flag(flag_name: str,
|
|
377
384
|
|
378
385
|
---
|
379
386
|
|
380
|
-
|
387
|
+
#### **.get_string_entity() -> `str`**
|
381
388
|
|
382
389
|
*method mean* **::** возвращает строковое представление флага(префикс + имя)
|
383
390
|
|
384
391
|
---
|
385
392
|
|
386
|
-
|
393
|
+
#### **.get_flag_name() -> `str`**
|
387
394
|
|
388
395
|
*method mean* **::** возвращает имя флага
|
389
396
|
|
390
397
|
---
|
391
398
|
|
392
|
-
|
399
|
+
#### **.get_flag_prefix() -> `str`**
|
393
400
|
|
394
401
|
*method mean* **::** возвращает префикс флага
|
395
402
|
|
@@ -417,7 +424,7 @@ FlagsGroup(flags: list[Flag] = None)
|
|
417
424
|
|
418
425
|
---
|
419
426
|
|
420
|
-
|
427
|
+
#### **.get_flags() -> `list[Flag]`**
|
421
428
|
|
422
429
|
*method mean* **::** возвращает зарегистрированные флаги
|
423
430
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|