argenta 1.0.6__py3-none-any.whl → 1.1.1__py3-none-any.whl
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/__init__.py +10 -0
- argenta/app/__init__.py +10 -1
- argenta/app/autocompleter/entity.py +18 -19
- argenta/app/dividing_line/models.py +5 -5
- argenta/app/models.py +184 -179
- argenta/app/protocols.py +22 -0
- argenta/app/registered_routers/entity.py +7 -14
- argenta/command/__init__.py +11 -2
- argenta/command/exceptions.py +20 -13
- argenta/command/flag/__init__.py +9 -5
- argenta/command/flag/defaults.py +20 -24
- argenta/command/flag/flags/__init__.py +2 -8
- argenta/command/flag/flags/models.py +65 -49
- argenta/command/flag/models.py +80 -82
- argenta/command/models.py +100 -143
- argenta/metrics/main.py +2 -10
- argenta/orchestrator/__init__.py +5 -1
- argenta/orchestrator/argparser/__init__.py +9 -1
- argenta/orchestrator/argparser/arguments/models.py +18 -12
- argenta/orchestrator/argparser/entity.py +15 -35
- argenta/orchestrator/entity.py +4 -7
- argenta/py.typed +0 -0
- argenta/response/__init__.py +2 -2
- argenta/response/entity.py +12 -18
- argenta/response/status.py +12 -1
- argenta/router/__init__.py +2 -2
- argenta/router/command_handler/entity.py +7 -27
- argenta/router/entity.py +129 -155
- argenta/router/exceptions.py +11 -8
- {argenta-1.0.6.dist-info → argenta-1.1.1.dist-info}/METADATA +10 -4
- argenta-1.1.1.dist-info/RECORD +41 -0
- argenta-1.0.6.dist-info/RECORD +0 -39
- {argenta-1.0.6.dist-info → argenta-1.1.1.dist-info}/WHEEL +0 -0
- {argenta-1.0.6.dist-info → argenta-1.1.1.dist-info}/licenses/LICENSE +0 -0
argenta/router/entity.py
CHANGED
@@ -1,17 +1,14 @@
|
|
1
|
-
from typing import Callable,
|
1
|
+
from typing import Callable, TypeAlias
|
2
2
|
from inspect import getfullargspec, get_annotations, getsourcefile, getsourcelines
|
3
3
|
from rich.console import Console
|
4
4
|
|
5
|
-
from argenta.command import Command
|
6
|
-
from argenta.command.
|
7
|
-
from argenta.response import Response,
|
5
|
+
from argenta.command import Command, InputCommand
|
6
|
+
from argenta.command.flag import ValidationStatus
|
7
|
+
from argenta.response import Response, ResponseStatus
|
8
8
|
from argenta.router.command_handler.entity import CommandHandlers, CommandHandler
|
9
9
|
from argenta.command.flag.flags import (
|
10
10
|
Flags,
|
11
|
-
InputFlags
|
12
|
-
UndefinedInputFlags,
|
13
|
-
ValidInputFlags,
|
14
|
-
InvalidValueInputFlags,
|
11
|
+
InputFlags
|
15
12
|
)
|
16
13
|
from argenta.router.exceptions import (
|
17
14
|
RepeatedFlagNameException,
|
@@ -21,8 +18,14 @@ from argenta.router.exceptions import (
|
|
21
18
|
)
|
22
19
|
|
23
20
|
|
21
|
+
HandlerFunc: TypeAlias = Callable[[Response], None]
|
22
|
+
|
23
|
+
|
24
24
|
class Router:
|
25
|
-
def __init__(
|
25
|
+
def __init__(
|
26
|
+
self, *, title: str | None = "Default title",
|
27
|
+
disable_redirect_stdout: bool = False
|
28
|
+
):
|
26
29
|
"""
|
27
30
|
Public. Directly configures and manages handlers
|
28
31
|
:param title: the title of the router, displayed when displaying the available commands
|
@@ -33,13 +36,13 @@ class Router:
|
|
33
36
|
which is ambiguous behavior and can lead to unexpected work
|
34
37
|
:return: None
|
35
38
|
"""
|
36
|
-
self.title = title
|
37
|
-
self.disable_redirect_stdout = disable_redirect_stdout
|
39
|
+
self.title: str | None = title
|
40
|
+
self.disable_redirect_stdout: bool = disable_redirect_stdout
|
38
41
|
|
39
|
-
self.
|
40
|
-
self.
|
42
|
+
self.command_handlers: CommandHandlers = CommandHandlers()
|
43
|
+
self.command_register_ignore: bool = False
|
41
44
|
|
42
|
-
def command(self, command: Command | str) -> Callable:
|
45
|
+
def command(self, command: Command | str) -> Callable[[HandlerFunc], HandlerFunc]:
|
43
46
|
"""
|
44
47
|
Public. Registers handler
|
45
48
|
:param command: Registered command
|
@@ -49,18 +52,16 @@ class Router:
|
|
49
52
|
redefined_command = Command(command)
|
50
53
|
else:
|
51
54
|
redefined_command = command
|
52
|
-
self._validate_command(redefined_command)
|
53
55
|
|
54
|
-
|
55
|
-
Router._validate_func_args(func)
|
56
|
-
self._command_handlers.add_handler(CommandHandler(func, redefined_command))
|
56
|
+
_validate_command(redefined_command)
|
57
57
|
|
58
|
-
|
59
|
-
|
58
|
+
def decorator(func: HandlerFunc) -> HandlerFunc:
|
59
|
+
_validate_func_args(func)
|
60
|
+
self.command_handlers.add_handler(CommandHandler(func, redefined_command))
|
60
61
|
|
61
|
-
return
|
62
|
+
return func
|
62
63
|
|
63
|
-
return
|
64
|
+
return decorator
|
64
65
|
|
65
66
|
def finds_appropriate_handler(self, input_command: InputCommand) -> None:
|
66
67
|
"""
|
@@ -68,14 +69,14 @@ class Router:
|
|
68
69
|
:param input_command: input command as InputCommand
|
69
70
|
:return: None
|
70
71
|
"""
|
71
|
-
input_command_name: str = input_command.
|
72
|
-
input_command_flags: InputFlags = input_command.
|
72
|
+
input_command_name: str = input_command.trigger
|
73
|
+
input_command_flags: InputFlags = input_command.input_flags
|
73
74
|
|
74
|
-
for command_handler in self.
|
75
|
-
handle_command = command_handler.
|
76
|
-
if input_command_name.lower() == handle_command.
|
75
|
+
for command_handler in self.command_handlers:
|
76
|
+
handle_command = command_handler.handled_command
|
77
|
+
if input_command_name.lower() == handle_command.trigger.lower():
|
77
78
|
self.process_input_command(input_command_flags, command_handler)
|
78
|
-
if input_command_name.lower() in handle_command.
|
79
|
+
if input_command_name.lower() in handle_command.aliases:
|
79
80
|
self.process_input_command(input_command_flags, command_handler)
|
80
81
|
|
81
82
|
def process_input_command(
|
@@ -87,152 +88,125 @@ class Router:
|
|
87
88
|
:param command_handler: command handler for input command as CommandHandler
|
88
89
|
:return: None
|
89
90
|
"""
|
90
|
-
handle_command = command_handler.
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
response: Response = self._structuring_input_flags(
|
95
|
-
handle_command, input_command_flags
|
96
|
-
)
|
91
|
+
handle_command = command_handler.handled_command
|
92
|
+
if handle_command.registered_flags.flags:
|
93
|
+
if input_command_flags.flags:
|
94
|
+
response: Response = _structuring_input_flags(handle_command, input_command_flags)
|
97
95
|
command_handler.handling(response)
|
98
96
|
else:
|
99
|
-
response
|
97
|
+
response = Response(ResponseStatus.ALL_FLAGS_VALID)
|
100
98
|
command_handler.handling(response)
|
101
99
|
else:
|
102
|
-
if input_command_flags.
|
103
|
-
|
104
|
-
|
105
|
-
|
100
|
+
if input_command_flags.flags:
|
101
|
+
undefined_flags = InputFlags()
|
102
|
+
for input_flag in input_command_flags:
|
103
|
+
input_flag.status = ValidationStatus.UNDEFINED
|
104
|
+
undefined_flags.add_flag(input_flag)
|
105
|
+
response = Response(ResponseStatus.UNDEFINED_FLAGS, input_flags=undefined_flags)
|
106
106
|
command_handler.handling(response)
|
107
107
|
else:
|
108
|
-
response
|
108
|
+
response = Response(ResponseStatus.ALL_FLAGS_VALID)
|
109
109
|
command_handler.handling(response)
|
110
110
|
|
111
|
-
@
|
112
|
-
def
|
113
|
-
handled_command: Command, input_flags: InputFlags
|
114
|
-
) -> Response:
|
115
|
-
"""
|
116
|
-
Private. Validates flags of input command
|
117
|
-
:param handled_command: entity of the handled command
|
118
|
-
:param input_flags:
|
119
|
-
:return: entity of response as Response
|
120
|
-
"""
|
121
|
-
valid_input_flags: ValidInputFlags = ValidInputFlags()
|
122
|
-
invalid_value_input_flags: InvalidValueInputFlags = InvalidValueInputFlags()
|
123
|
-
undefined_input_flags: UndefinedInputFlags = UndefinedInputFlags()
|
124
|
-
for flag in input_flags:
|
125
|
-
flag_status: Literal["Undefined", "Valid", "Invalid"] = (
|
126
|
-
handled_command.validate_input_flag(flag)
|
127
|
-
)
|
128
|
-
if flag_status == "Valid":
|
129
|
-
valid_input_flags.add_flag(flag)
|
130
|
-
elif flag_status == "Undefined":
|
131
|
-
undefined_input_flags.add_flag(flag)
|
132
|
-
elif flag_status == "Invalid":
|
133
|
-
invalid_value_input_flags.add_flag(flag)
|
134
|
-
|
135
|
-
if (
|
136
|
-
not invalid_value_input_flags.get_flags()
|
137
|
-
and not undefined_input_flags.get_flags()
|
138
|
-
):
|
139
|
-
status = Status.ALL_FLAGS_VALID
|
140
|
-
elif (
|
141
|
-
invalid_value_input_flags.get_flags()
|
142
|
-
and not undefined_input_flags.get_flags()
|
143
|
-
):
|
144
|
-
status = Status.INVALID_VALUE_FLAGS
|
145
|
-
elif (
|
146
|
-
not invalid_value_input_flags.get_flags()
|
147
|
-
and undefined_input_flags.get_flags()
|
148
|
-
):
|
149
|
-
status = Status.UNDEFINED_FLAGS
|
150
|
-
else:
|
151
|
-
status = Status.UNDEFINED_AND_INVALID_FLAGS
|
152
|
-
|
153
|
-
return Response(
|
154
|
-
invalid_value_flags=invalid_value_input_flags,
|
155
|
-
valid_flags=valid_input_flags,
|
156
|
-
status=status,
|
157
|
-
undefined_flags=undefined_input_flags,
|
158
|
-
)
|
159
|
-
|
160
|
-
@staticmethod
|
161
|
-
def _validate_command(command: Command | str) -> None:
|
162
|
-
"""
|
163
|
-
Private. Validates the command registered in handler
|
164
|
-
:param command: validated command
|
165
|
-
:return: None if command is valid else raise exception
|
166
|
-
"""
|
167
|
-
command_name: str = command.get_trigger()
|
168
|
-
if command_name.find(" ") != -1:
|
169
|
-
raise TriggerContainSpacesException()
|
170
|
-
flags: Flags = command.get_registered_flags()
|
171
|
-
if flags:
|
172
|
-
flags_name: list = [x.get_string_entity().lower() for x in flags]
|
173
|
-
if len(set(flags_name)) < len(flags_name):
|
174
|
-
raise RepeatedFlagNameException()
|
175
|
-
|
176
|
-
@staticmethod
|
177
|
-
def _validate_func_args(func: Callable) -> None:
|
178
|
-
"""
|
179
|
-
Private. Validates the arguments of the handler
|
180
|
-
:param func: entity of the handler func
|
181
|
-
:return: None if func is valid else raise exception
|
182
|
-
"""
|
183
|
-
transferred_args = getfullargspec(func).args
|
184
|
-
if len(transferred_args) > 1:
|
185
|
-
raise TooManyTransferredArgsException()
|
186
|
-
elif len(transferred_args) == 0:
|
187
|
-
raise RequiredArgumentNotPassedException()
|
188
|
-
|
189
|
-
transferred_arg: str = transferred_args[0]
|
190
|
-
func_annotations: dict[str, Type] = get_annotations(func)
|
191
|
-
|
192
|
-
if arg_annotation := func_annotations.get(transferred_arg):
|
193
|
-
if arg_annotation is Response:
|
194
|
-
pass
|
195
|
-
else:
|
196
|
-
file_path: str | None = getsourcefile(func)
|
197
|
-
source_line: int = getsourcelines(func)[1]
|
198
|
-
fprint = Console().print
|
199
|
-
fprint(f'\nFile "{file_path}", line {source_line}\n[b red]WARNING:[/b red] [i]The typehint '
|
200
|
-
f"of argument([green]{transferred_arg}[/green]) passed to the handler is [/i][bold blue]{Response}[/bold blue],"
|
201
|
-
f" [i]but[/i] [bold blue]{arg_annotation}[/bold blue] [i]is specified[/i]",
|
202
|
-
highlight=False)
|
203
|
-
|
204
|
-
def set_command_register_ignore(self, _: bool) -> None:
|
205
|
-
"""
|
206
|
-
Private. Sets the router behavior on the input commands register
|
207
|
-
:param _: is command register ignore
|
208
|
-
:return: None
|
209
|
-
"""
|
210
|
-
self._ignore_command_register = _
|
211
|
-
|
212
|
-
def get_triggers(self) -> list[str]:
|
111
|
+
@property
|
112
|
+
def triggers(self) -> list[str]:
|
213
113
|
"""
|
214
114
|
Public. Gets registered triggers
|
215
115
|
:return: registered in router triggers as list[str]
|
216
116
|
"""
|
217
117
|
all_triggers: list[str] = []
|
218
|
-
for command_handler in self.
|
219
|
-
all_triggers.append(command_handler.
|
118
|
+
for command_handler in self.command_handlers:
|
119
|
+
all_triggers.append(command_handler.handled_command.trigger)
|
220
120
|
return all_triggers
|
221
121
|
|
222
|
-
|
122
|
+
@property
|
123
|
+
def aliases(self) -> list[str]:
|
223
124
|
"""
|
224
125
|
Public. Gets registered aliases
|
225
126
|
:return: registered in router aliases as list[str]
|
226
127
|
"""
|
227
128
|
all_aliases: list[str] = []
|
228
|
-
for command_handler in self.
|
229
|
-
if command_handler.
|
230
|
-
all_aliases.extend(command_handler.
|
129
|
+
for command_handler in self.command_handlers:
|
130
|
+
if command_handler.handled_command.aliases:
|
131
|
+
all_aliases.extend(command_handler.handled_command.aliases)
|
231
132
|
return all_aliases
|
232
133
|
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
:
|
237
|
-
|
238
|
-
|
134
|
+
|
135
|
+
class CommandDecorator:
|
136
|
+
def __init__(self, router_instance: Router, command: Command):
|
137
|
+
self.router: Router = router_instance
|
138
|
+
self.command: Command = command
|
139
|
+
|
140
|
+
def __call__(self, handler_func: Callable[[Response], None]) -> Callable[[Response], None]:
|
141
|
+
_validate_func_args(handler_func)
|
142
|
+
self.router.command_handlers.add_handler(CommandHandler(handler_func, self.command))
|
143
|
+
return handler_func
|
144
|
+
|
145
|
+
|
146
|
+
def _structuring_input_flags(handled_command: Command,
|
147
|
+
input_flags: InputFlags) -> Response:
|
148
|
+
"""
|
149
|
+
Private. Validates flags of input command
|
150
|
+
:param handled_command: entity of the handled command
|
151
|
+
:param input_flags:
|
152
|
+
:return: entity of response as Response
|
153
|
+
"""
|
154
|
+
invalid_value_flags, undefined_flags = False, False
|
155
|
+
|
156
|
+
for flag in input_flags:
|
157
|
+
flag_status: ValidationStatus = (handled_command.validate_input_flag(flag))
|
158
|
+
flag.status = flag_status
|
159
|
+
if flag_status == ValidationStatus.INVALID:
|
160
|
+
invalid_value_flags = True
|
161
|
+
elif flag_status == ValidationStatus.UNDEFINED:
|
162
|
+
undefined_flags = True
|
163
|
+
|
164
|
+
status = ResponseStatus.from_flags(has_invalid_value_flags=invalid_value_flags,
|
165
|
+
has_undefined_flags=undefined_flags)
|
166
|
+
|
167
|
+
return Response(
|
168
|
+
status=status,
|
169
|
+
input_flags=input_flags
|
170
|
+
)
|
171
|
+
|
172
|
+
def _validate_func_args(func: Callable[[Response], None]) -> None:
|
173
|
+
"""
|
174
|
+
Private. Validates the arguments of the handler
|
175
|
+
:param func: entity of the handler func
|
176
|
+
:return: None if func is valid else raise exception
|
177
|
+
"""
|
178
|
+
transferred_args = getfullargspec(func).args
|
179
|
+
if len(transferred_args) > 1:
|
180
|
+
raise TooManyTransferredArgsException()
|
181
|
+
elif len(transferred_args) == 0:
|
182
|
+
raise RequiredArgumentNotPassedException()
|
183
|
+
|
184
|
+
transferred_arg: str = transferred_args[0]
|
185
|
+
func_annotations: dict[str, None] = get_annotations(func)
|
186
|
+
|
187
|
+
arg_annotation = func_annotations.get(transferred_arg)
|
188
|
+
|
189
|
+
if arg_annotation is not None:
|
190
|
+
if arg_annotation is not Response:
|
191
|
+
source_line: int = getsourcelines(func)[1]
|
192
|
+
Console().print(
|
193
|
+
f'\nFile "{getsourcefile(func)}", line {source_line}\n[b red]WARNING:[/b red] [i]The typehint ' +
|
194
|
+
f"of argument([green]{transferred_arg}[/green]) passed to the handler must be [/i][bold blue]{Response}[/bold blue]," +
|
195
|
+
f" [i]but[/i] [bold blue]{arg_annotation}[/bold blue] [i]is specified[/i]",
|
196
|
+
highlight=False,
|
197
|
+
)
|
198
|
+
|
199
|
+
|
200
|
+
def _validate_command(command: Command) -> None:
|
201
|
+
"""
|
202
|
+
Private. Validates the command registered in handler
|
203
|
+
:param command: validated command
|
204
|
+
:return: None if command is valid else raise exception
|
205
|
+
"""
|
206
|
+
command_name: str = command.trigger
|
207
|
+
if command_name.find(" ") != -1:
|
208
|
+
raise TriggerContainSpacesException()
|
209
|
+
flags: Flags = command.registered_flags
|
210
|
+
flags_name: list[str] = [flag.string_entity.lower() for flag in flags]
|
211
|
+
if len(set(flags_name)) < len(flags_name):
|
212
|
+
raise RepeatedFlagNameException()
|
argenta/router/exceptions.py
CHANGED
@@ -1,9 +1,12 @@
|
|
1
|
+
from typing import override
|
2
|
+
|
3
|
+
|
1
4
|
class RepeatedFlagNameException(Exception):
|
2
5
|
"""
|
3
6
|
Private. Raised when a repeated flag name is registered
|
4
7
|
"""
|
5
|
-
|
6
|
-
def __str__(self):
|
8
|
+
@override
|
9
|
+
def __str__(self) -> str:
|
7
10
|
return "Repeated registered flag names in register command"
|
8
11
|
|
9
12
|
|
@@ -11,8 +14,8 @@ class TooManyTransferredArgsException(Exception):
|
|
11
14
|
"""
|
12
15
|
Private. Raised when too many arguments are passed
|
13
16
|
"""
|
14
|
-
|
15
|
-
def __str__(self):
|
17
|
+
@override
|
18
|
+
def __str__(self) -> str:
|
16
19
|
return "Too many transferred arguments"
|
17
20
|
|
18
21
|
|
@@ -20,8 +23,8 @@ class RequiredArgumentNotPassedException(Exception):
|
|
20
23
|
"""
|
21
24
|
Private. Raised when a required argument is not passed
|
22
25
|
"""
|
23
|
-
|
24
|
-
def __str__(self):
|
26
|
+
@override
|
27
|
+
def __str__(self) -> str:
|
25
28
|
return "Required argument not passed"
|
26
29
|
|
27
30
|
|
@@ -29,6 +32,6 @@ class TriggerContainSpacesException(Exception):
|
|
29
32
|
"""
|
30
33
|
Private. Raised when there is a space in the trigger being registered
|
31
34
|
"""
|
32
|
-
|
33
|
-
def __str__(self):
|
35
|
+
@override
|
36
|
+
def __str__(self) -> str:
|
34
37
|
return "Command trigger cannot contain spaces"
|
@@ -1,11 +1,11 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: argenta
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.1.1
|
4
4
|
Summary: Python library for building modular CLI applications
|
5
5
|
Author-email: kolo <kolo.is.main@gmail.com>
|
6
6
|
License: MIT
|
7
7
|
License-File: LICENSE
|
8
|
-
Requires-Python: >=3.
|
8
|
+
Requires-Python: >=3.11
|
9
9
|
Requires-Dist: art<7.0,>=6.4
|
10
10
|
Requires-Dist: pyreadline3>=3.5.4
|
11
11
|
Requires-Dist: rich<15.0.0,>=14.0.0
|
@@ -15,9 +15,15 @@ Description-Content-Type: text/markdown
|
|
15
15
|
|
16
16
|
### Library for creating modular CLI applications
|
17
17
|
|
18
|
-
#### RU - [README.ru.md](https://github.com/koloideal/Argenta/blob/
|
18
|
+
#### RU - [README.ru.md](https://github.com/koloideal/Argenta/blob/main/README.ru.md) • DE - [README.de.md](https://github.com/koloideal/Argenta/blob/main/README.de.md)
|
19
19
|
|
20
|
-
|
20
|
+
---
|
21
|
+
|
22
|
+
Argenta allows you to encapsulate CLI functionality in isolated, abstracted environments. Eg: you are creating a utility similar to the Metasploit Framework, where the user first logs into a specific scope (for example, selects a module to scan), and then gets access to a set of commands specific only to that context. Argenta provides a simple and concise way to build such an architecture.
|
23
|
+
|
24
|
+
---
|
25
|
+
|
26
|
+

|
21
27
|
|
22
28
|
---
|
23
29
|
|
@@ -0,0 +1,41 @@
|
|
1
|
+
argenta/__init__.py,sha256=M46JPL55z0mJt7uA8kWAqILIQqfDZ26gexXQma5eyVg,179
|
2
|
+
argenta/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
|
+
argenta/app/__init__.py,sha256=eC03K3EN4L7XevITTy8Em_I_PihnSeTiWeMsElxeV-0,368
|
4
|
+
argenta/app/defaults.py,sha256=TmpHGfEmJeefgJlgW90rfw9xTgssNANRds6JZqKdDrc,379
|
5
|
+
argenta/app/models.py,sha256=QH9MC6cpn_8ukag9s8kALM0qlVNI0FH_091wFZe_04s,21058
|
6
|
+
argenta/app/protocols.py,sha256=G7xOmAzNII2S8PbbovrvibK0keJuyvFBQvqQAH_gEP4,614
|
7
|
+
argenta/app/autocompleter/__init__.py,sha256=VT_p3QA78UnczV7pYR2NnwQ0Atd8mnDUnLazvUQNqJk,93
|
8
|
+
argenta/app/autocompleter/entity.py,sha256=IMK69PUScwsomswig7mbr9NyJ_Ee-ACZqNxbcBcB-UM,3540
|
9
|
+
argenta/app/dividing_line/__init__.py,sha256=jJZDDZix8XYCAUWW4FzGJH0JmJlchYcx0FPWifjgv1I,147
|
10
|
+
argenta/app/dividing_line/models.py,sha256=oDp5vAY7ngxEBSzoaqMHjDSvvwNs_wXS70EeKydtU80,2284
|
11
|
+
argenta/app/registered_routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
12
|
+
argenta/app/registered_routers/entity.py,sha256=fXCsq9SFwT8P1gUQZKsaNVyBLvc78kdg9k_lAmn1E9E,885
|
13
|
+
argenta/command/__init__.py,sha256=b-_9RWfZgQNN_RwJe1NPk7Jaw4Dzz_1a0JB9vajr6do,312
|
14
|
+
argenta/command/exceptions.py,sha256=vXdegF_c1yaYnF6eMqlPz2CGD6Ttth-n6LpDfBZWxUo,1351
|
15
|
+
argenta/command/models.py,sha256=MSZ4MmiqlLtszd7zgozyZNxMxvFgglJxY7EuIlRrHdk,5772
|
16
|
+
argenta/command/flag/__init__.py,sha256=JjFmc1onWNgSeyPK2AmEIWYdNbtbXg_qRxQNZQLKqeU,257
|
17
|
+
argenta/command/flag/defaults.py,sha256=jtIyEVmC2zHxBC2eZg_VNB537fv4bq5d1Ut7LeATDpw,1059
|
18
|
+
argenta/command/flag/models.py,sha256=6IThEBF-LpADF0HIoSJmFG08lJQ98buqcTo5HzKK500,3880
|
19
|
+
argenta/command/flag/flags/__init__.py,sha256=jCJ_qGj-bnCa31Haqws44zQw315vyrfcOviIaLAeupU,132
|
20
|
+
argenta/command/flag/flags/models.py,sha256=AgP9GcrhD2oY7RP39lpyjLQSzUGK9K4QZfsZt5R6hWk,3419
|
21
|
+
argenta/metrics/__init__.py,sha256=PPLFPxhe4j7r6hP1P1pk0A_gnXgylbTaHqopky872AU,109
|
22
|
+
argenta/metrics/main.py,sha256=SRz25JZ85Kj3rVVwQi5jpuojumopB2ADJnEZ8CsmirI,507
|
23
|
+
argenta/orchestrator/__init__.py,sha256=0l3AcpETwWwxob1BEBgpCinD5TgWURsniEjjdLi05DE,173
|
24
|
+
argenta/orchestrator/entity.py,sha256=7D9d5T47YMg9JXWh-6dgtVji9jXUOEyDgd5VBfz70LI,1012
|
25
|
+
argenta/orchestrator/argparser/__init__.py,sha256=XqNc7hYSeucOZPLH_pSwzaYTUUbXMuQX7YnRa_-cnmw,394
|
26
|
+
argenta/orchestrator/argparser/entity.py,sha256=EgwgdHueeG5FEUgGgPoBDv9ew_cxLAHu5s_09ePKFhY,1579
|
27
|
+
argenta/orchestrator/argparser/arguments/__init__.py,sha256=lRsKyJeiibPYhFZoeB3BRfIYM4mlUFp6nZpy9RdbgYg,213
|
28
|
+
argenta/orchestrator/argparser/arguments/models.py,sha256=F1K8Sh_dFF00iDejkJ2eajBcA_pkM2pVNXHGzucW6pI,1756
|
29
|
+
argenta/response/__init__.py,sha256=tbo5CC-nrVLlr13yiPHPNHdpSjxeSak_pC-NEXoyfqA,144
|
30
|
+
argenta/response/entity.py,sha256=Tf1mXAUhpEKf3dfFHJ3W08MoHZRSSlTIOKad7h8F9ns,715
|
31
|
+
argenta/response/status.py,sha256=sX2qoqPSMDKF7zmCGjmmh29qEzP5Aoc4MMjo_Sz48bE,765
|
32
|
+
argenta/router/__init__.py,sha256=CDhhu5aX4_vHlgX6PZvvbT5_x4-S1XieOPqWU9cwPIs,68
|
33
|
+
argenta/router/defaults.py,sha256=vvkwFYCQdwjtMntfyrJuisxFX8XxeyhDMA-RwteHZGg,87
|
34
|
+
argenta/router/entity.py,sha256=1LBnRp4yaso1tQqyGb1GQ-_4gSRcYE27R4UQrdWu71I,8806
|
35
|
+
argenta/router/exceptions.py,sha256=DAkZBe7VAvBYE4wF-mbxSFbt51oZ-j3wbBpMY_xj740,973
|
36
|
+
argenta/router/command_handler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
37
|
+
argenta/router/command_handler/entity.py,sha256=3G-UaQZNqdIvl_R1AKfwJog1JUFTIflxpBWK-jI-fT4,1803
|
38
|
+
argenta-1.1.1.dist-info/METADATA,sha256=DPDIvMvjzaFgZN8WC7rQoNVUlIdBztGLsOXyH26cIQE,1981
|
39
|
+
argenta-1.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
40
|
+
argenta-1.1.1.dist-info/licenses/LICENSE,sha256=zmqoGh2n5rReBv4s8wPxF_gZEZDgauJYSPMuPczgOiU,1082
|
41
|
+
argenta-1.1.1.dist-info/RECORD,,
|
argenta-1.0.6.dist-info/RECORD
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
argenta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
argenta/app/__init__.py,sha256=I8FTXU17ajDI-hbC6Rw0LxLmvDYipdQaos3v1pmu14E,57
|
3
|
-
argenta/app/defaults.py,sha256=TmpHGfEmJeefgJlgW90rfw9xTgssNANRds6JZqKdDrc,379
|
4
|
-
argenta/app/models.py,sha256=lY7ZbKxXUcWdJdsIE_oWv2muheK9sDK2ajgl62ki24A,20726
|
5
|
-
argenta/app/autocompleter/__init__.py,sha256=VT_p3QA78UnczV7pYR2NnwQ0Atd8mnDUnLazvUQNqJk,93
|
6
|
-
argenta/app/autocompleter/entity.py,sha256=55yUwlCEPPF8Z4t7y8Fl4DgLyH27qeybynXphDJ6XvM,3562
|
7
|
-
argenta/app/dividing_line/__init__.py,sha256=jJZDDZix8XYCAUWW4FzGJH0JmJlchYcx0FPWifjgv1I,147
|
8
|
-
argenta/app/dividing_line/models.py,sha256=syBTrzcIIt6E6RiaKC9QH3kdAuWLBDNIX0cH7Bnn0mk,2265
|
9
|
-
argenta/app/registered_routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
|
-
argenta/app/registered_routers/entity.py,sha256=xTRW3R2dWnSOz8QIsiUVmG8VuMJmyOMUqHzEDDpNX-0,1085
|
11
|
-
argenta/command/__init__.py,sha256=RvacrM84ZwBdVDy4MUwjLTyzQdDQrjjoikZxwh5ov-0,69
|
12
|
-
argenta/command/exceptions.py,sha256=86Gs_9-NutmbSkduEMljtxQHWHhDRFcqyyOKDhQ440o,1060
|
13
|
-
argenta/command/models.py,sha256=aJ06JARGx7oq9I84VfW1VZrG53tPW6tmY6dWuf3GVZE,7114
|
14
|
-
argenta/command/flag/__init__.py,sha256=Xjh_nR4vsHPPHFxQmc5o0673DvbnRkdr_vUaA31GeEk,384
|
15
|
-
argenta/command/flag/defaults.py,sha256=1F9bEngv6tB_yn5lLQg5pxWZSuinryfGGdXnWD7EvuY,1035
|
16
|
-
argenta/command/flag/models.py,sha256=J3KYso6lVzMaOrITZvEANBlJPeib1P-GR4Lif0KRlE0,3882
|
17
|
-
argenta/command/flag/flags/__init__.py,sha256=-HfdBZ3WXrjMrM8vEDWg0LLOLuQafqncrjw9KVFyqoE,294
|
18
|
-
argenta/command/flag/flags/models.py,sha256=U4nOwCqsCOURGigTKiQx07zBUKj0EoY0fCwgTNq4GIg,2332
|
19
|
-
argenta/metrics/__init__.py,sha256=PPLFPxhe4j7r6hP1P1pk0A_gnXgylbTaHqopky872AU,109
|
20
|
-
argenta/metrics/main.py,sha256=c8Ktthxa985kcgXQ-iYBHoFsFr5gtCa-5m1QlSPBleY,488
|
21
|
-
argenta/orchestrator/__init__.py,sha256=vFtJEJTjFfoYP3DZx0gNlhoa0Tk8u-yzkGIUN3SiABA,86
|
22
|
-
argenta/orchestrator/entity.py,sha256=I0HWZnpoD0Pen5azeTBh8s-CFU8vs0bTILpgRls-1hI,1098
|
23
|
-
argenta/orchestrator/argparser/__init__.py,sha256=akbTPC5CfNrgJTVVu1A2E9KeI8KPN4JnMM8M8U21jc8,90
|
24
|
-
argenta/orchestrator/argparser/entity.py,sha256=i3lCsCr_8JT09OosvxRuRD7KKP1MgeNFYz5kTTTqu9Q,2087
|
25
|
-
argenta/orchestrator/argparser/arguments/__init__.py,sha256=lRsKyJeiibPYhFZoeB3BRfIYM4mlUFp6nZpy9RdbgYg,213
|
26
|
-
argenta/orchestrator/argparser/arguments/models.py,sha256=wF4rIaEAx9Rt-c6rAeq6kZLfNPTn4v9WBNt9JHzJ0RA,1548
|
27
|
-
argenta/response/__init__.py,sha256=u4NuwUQkWa55aX67hTQs_B_gIaZ9Dn4Fe7xhSFQ_Rpw,128
|
28
|
-
argenta/response/entity.py,sha256=vUVeiOp8BbuUW2VRtyQlFMQ_-KkQPjOgz9p7DxwyoeE,1054
|
29
|
-
argenta/response/status.py,sha256=bWFMHvyIHpOA4LxUQFoSpld-F8gu183M9nY-zN-MiZM,244
|
30
|
-
argenta/router/__init__.py,sha256=rvqAx80IXHFdVw7cWBRGaTtb94a4OQQEsMJ5f7YA1gU,68
|
31
|
-
argenta/router/defaults.py,sha256=vvkwFYCQdwjtMntfyrJuisxFX8XxeyhDMA-RwteHZGg,87
|
32
|
-
argenta/router/entity.py,sha256=dYkAdmHWj2-0y6RH8lDSoLs6gjbtwGoANPe2VzJEbnc,10058
|
33
|
-
argenta/router/exceptions.py,sha256=5k0mTHYYItWHzGC0NU5oHHYrHxU0M5fEbO5wne_wFg8,860
|
34
|
-
argenta/router/command_handler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
|
-
argenta/router/command_handler/entity.py,sha256=ascEf3AzYcWh-G5cml08WOoRr2q9QkfLP2IaKC1iKWM,2394
|
36
|
-
argenta-1.0.6.dist-info/METADATA,sha256=eWiuw7lBvYabikTozeG_PQV_9U2XITr9WK_0Sf1pelA,1576
|
37
|
-
argenta-1.0.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
38
|
-
argenta-1.0.6.dist-info/licenses/LICENSE,sha256=zmqoGh2n5rReBv4s8wPxF_gZEZDgauJYSPMuPczgOiU,1082
|
39
|
-
argenta-1.0.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|