argenta 1.0.7__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/router/entity.py CHANGED
@@ -1,17 +1,14 @@
1
- from typing import Callable, Literal, Type
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.models import InputCommand
7
- from argenta.response import Response, Status
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,9 +18,13 @@ from argenta.router.exceptions import (
21
18
  )
22
19
 
23
20
 
21
+ HandlerFunc: TypeAlias = Callable[[Response], None]
22
+
23
+
24
24
  class Router:
25
25
  def __init__(
26
- self, title: str | None = "Awesome title", disable_redirect_stdout: bool = False
26
+ self, *, title: str | None = "Default title",
27
+ disable_redirect_stdout: bool = False
27
28
  ):
28
29
  """
29
30
  Public. Directly configures and manages handlers
@@ -35,13 +36,13 @@ class Router:
35
36
  which is ambiguous behavior and can lead to unexpected work
36
37
  :return: None
37
38
  """
38
- self.title = title
39
- self.disable_redirect_stdout = disable_redirect_stdout
39
+ self.title: str | None = title
40
+ self.disable_redirect_stdout: bool = disable_redirect_stdout
40
41
 
41
- self._command_handlers: CommandHandlers = CommandHandlers()
42
- self._ignore_command_register: bool = False
42
+ self.command_handlers: CommandHandlers = CommandHandlers()
43
+ self.command_register_ignore: bool = False
43
44
 
44
- def command(self, command: Command | str) -> Callable:
45
+ def command(self, command: Command | str) -> Callable[[HandlerFunc], HandlerFunc]:
45
46
  """
46
47
  Public. Registers handler
47
48
  :param command: Registered command
@@ -51,18 +52,16 @@ class Router:
51
52
  redefined_command = Command(command)
52
53
  else:
53
54
  redefined_command = command
54
- self._validate_command(redefined_command)
55
55
 
56
- def command_decorator(func):
57
- Router._validate_func_args(func)
58
- self._command_handlers.add_handler(CommandHandler(func, redefined_command))
56
+ _validate_command(redefined_command)
59
57
 
60
- def wrapper(*args, **kwargs):
61
- return func(*args, **kwargs)
58
+ def decorator(func: HandlerFunc) -> HandlerFunc:
59
+ _validate_func_args(func)
60
+ self.command_handlers.add_handler(CommandHandler(func, redefined_command))
62
61
 
63
- return wrapper
62
+ return func
64
63
 
65
- return command_decorator
64
+ return decorator
66
65
 
67
66
  def finds_appropriate_handler(self, input_command: InputCommand) -> None:
68
67
  """
@@ -70,14 +69,14 @@ class Router:
70
69
  :param input_command: input command as InputCommand
71
70
  :return: None
72
71
  """
73
- input_command_name: str = input_command.get_trigger()
74
- input_command_flags: InputFlags = input_command.get_input_flags()
72
+ input_command_name: str = input_command.trigger
73
+ input_command_flags: InputFlags = input_command.input_flags
75
74
 
76
- for command_handler in self._command_handlers:
77
- handle_command = command_handler.get_handled_command()
78
- if input_command_name.lower() == handle_command.get_trigger().lower():
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():
79
78
  self.process_input_command(input_command_flags, command_handler)
80
- if input_command_name.lower() in handle_command.get_aliases():
79
+ if input_command_name.lower() in handle_command.aliases:
81
80
  self.process_input_command(input_command_flags, command_handler)
82
81
 
83
82
  def process_input_command(
@@ -89,152 +88,125 @@ class Router:
89
88
  :param command_handler: command handler for input command as CommandHandler
90
89
  :return: None
91
90
  """
92
- handle_command = command_handler.get_handled_command()
93
- response: Response = Response()
94
- if handle_command.get_registered_flags().get_flags():
95
- if input_command_flags.get_flags():
96
- response: Response = self._structuring_input_flags( handle_command, input_command_flags )
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.status = Status.ALL_FLAGS_VALID
97
+ response = Response(ResponseStatus.ALL_FLAGS_VALID)
100
98
  command_handler.handling(response)
101
99
  else:
102
- if input_command_flags.get_flags():
103
- response.status = Status.UNDEFINED_FLAGS
104
- response.undefined_flags = UndefinedInputFlags()
105
- response.undefined_flags.add_flags(input_command_flags.get_flags())
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.status = Status.ALL_FLAGS_VALID
108
+ response = Response(ResponseStatus.ALL_FLAGS_VALID)
109
109
  command_handler.handling(response)
110
110
 
111
- @staticmethod
112
- def _structuring_input_flags(
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) -> 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(
200
- f'\nFile "{file_path}", line {source_line}\n[b red]WARNING:[/b red] [i]The typehint '
201
- f"of argument([green]{transferred_arg}[/green]) passed to the handler is [/i][bold blue]{Response}[/bold blue],"
202
- f" [i]but[/i] [bold blue]{arg_annotation}[/bold blue] [i]is specified[/i]",
203
- highlight=False,
204
- )
205
-
206
- def set_command_register_ignore(self, _: bool) -> None:
207
- """
208
- Private. Sets the router behavior on the input commands register
209
- :param _: is command register ignore
210
- :return: None
211
- """
212
- self._ignore_command_register = _
213
-
214
- def get_triggers(self) -> list[str]:
111
+ @property
112
+ def triggers(self) -> list[str]:
215
113
  """
216
114
  Public. Gets registered triggers
217
115
  :return: registered in router triggers as list[str]
218
116
  """
219
117
  all_triggers: list[str] = []
220
- for command_handler in self._command_handlers:
221
- all_triggers.append(command_handler.get_handled_command().get_trigger())
118
+ for command_handler in self.command_handlers:
119
+ all_triggers.append(command_handler.handled_command.trigger)
222
120
  return all_triggers
223
121
 
224
- def get_aliases(self) -> list[str]:
122
+ @property
123
+ def aliases(self) -> list[str]:
225
124
  """
226
125
  Public. Gets registered aliases
227
126
  :return: registered in router aliases as list[str]
228
127
  """
229
128
  all_aliases: list[str] = []
230
- for command_handler in self._command_handlers:
231
- if command_handler.get_handled_command().get_aliases():
232
- all_aliases.extend(command_handler.get_handled_command().get_aliases())
129
+ for command_handler in self.command_handlers:
130
+ if command_handler.handled_command.aliases:
131
+ all_aliases.extend(command_handler.handled_command.aliases)
233
132
  return all_aliases
234
133
 
235
- def get_command_handlers(self) -> CommandHandlers:
236
- """
237
- Private. Gets registered command handlers
238
- :return: registered command handlers as CommandHandlers
239
- """
240
- return self._command_handlers
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()
@@ -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.0.7
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
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/kolo/README.ru.md) • DE - [README.de.md](https://github.com/koloideal/Argenta/blob/kolo/README.de.md)
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
- ![preview](https://github.com/koloideal/Argenta/blob/kolo/imgs/mock_app_preview4.png?raw=True)
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
+ ![preview](https://github.com/koloideal/Argenta/blob/main/imgs/mock_app_preview4.png?raw=True)
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,,
@@ -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=imtg6sOZ82xwttr7YCwBoMRFG_lhCkyk0tP63o1NSuI,381
4
- argenta/app/models.py,sha256=y7XZ3MVw_q8wHyrLlZMhtl9LzgzzXIY_m6Ud8hsli2w,20150
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=TYmKVJUsX8vxBfCVnQw0rp7CvzStr5BrDcV0IlRyCyc,7116
14
- argenta/command/flag/__init__.py,sha256=cXzUCEK_zGYd7d3YbymYVzfDAusrY9DMhjC48--PUdg,379
15
- argenta/command/flag/defaults.py,sha256=dkzE750mC-w6DPIGZsdhfnmc87-y7P-FIKMT_PAcq_0,1155
16
- argenta/command/flag/models.py,sha256=hGmgVX__ZgfNSB8KCqIT6SF-BOiZ_A0b2C031a_pSac,4158
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=vkvvI4xFbIcs0bNumtyiA_o3v66FF5LI38QoNnLCD6c,472
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=5eIn6OwUM4oNdFOtmC_jxDyxD54U3wl8c7W2AU2hyqE,10071
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.7.dist-info/METADATA,sha256=4uN_xlRCoJWKU0TY48l78TD6-jllclnWonMqknFX6-8,1576
37
- argenta-1.0.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
38
- argenta-1.0.7.dist-info/licenses/LICENSE,sha256=zmqoGh2n5rReBv4s8wPxF_gZEZDgauJYSPMuPczgOiU,1082
39
- argenta-1.0.7.dist-info/RECORD,,