orionis 0.56.0__py3-none-any.whl → 0.58.0__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.
- orionis/contracts/bootstrap/i_command_bootstrapper.py +22 -0
- orionis/contracts/bootstrap/i_config_bootstrapper.py +28 -0
- orionis/framework.py +1 -1
- orionis/luminate/app.py +13 -3
- orionis/luminate/bootstrap/command_bootstrapper.py +24 -1
- orionis/luminate/bootstrap/config_bootstrapper.py +42 -1
- {orionis-0.56.0.dist-info → orionis-0.58.0.dist-info}/METADATA +1 -1
- {orionis-0.56.0.dist-info → orionis-0.58.0.dist-info}/RECORD +12 -12
- {orionis-0.56.0.dist-info → orionis-0.58.0.dist-info}/LICENCE +0 -0
- {orionis-0.56.0.dist-info → orionis-0.58.0.dist-info}/WHEEL +0 -0
- {orionis-0.56.0.dist-info → orionis-0.58.0.dist-info}/entry_points.txt +0 -0
- {orionis-0.56.0.dist-info → orionis-0.58.0.dist-info}/top_level.txt +0 -0
@@ -56,4 +56,26 @@ class ICommandsBootstrapper(ABC):
|
|
56
56
|
ValueError
|
57
57
|
If the class does not have required attributes or methods.
|
58
58
|
"""
|
59
|
+
pass
|
60
|
+
|
61
|
+
@abstractmethod
|
62
|
+
def get(self, signature: str = None) -> Dict[str, Any]:
|
63
|
+
"""
|
64
|
+
Retrieves a registered command by its signature.
|
65
|
+
|
66
|
+
Parameters
|
67
|
+
----------
|
68
|
+
signature : str
|
69
|
+
The command signature to retrieve.
|
70
|
+
|
71
|
+
Returns
|
72
|
+
-------
|
73
|
+
Dict[str, Any]
|
74
|
+
A dictionary containing the command class, arguments, description, and signature.
|
75
|
+
|
76
|
+
Raises
|
77
|
+
------
|
78
|
+
KeyError
|
79
|
+
If the command signature is not found.
|
80
|
+
"""
|
59
81
|
pass
|
@@ -109,4 +109,32 @@ class IConfigBootstrapper(ABC):
|
|
109
109
|
ValueError
|
110
110
|
If the section is already registered.
|
111
111
|
"""
|
112
|
+
pass
|
113
|
+
|
114
|
+
@abstractmethod
|
115
|
+
def get(self, key: str = None, default: Any = None) -> Any:
|
116
|
+
"""
|
117
|
+
Retrieves configuration data.
|
118
|
+
|
119
|
+
If a key is provided, it retrieves the value associated with the key using dot notation.
|
120
|
+
If no key is provided, it returns the entire configuration dictionary.
|
121
|
+
|
122
|
+
Parameters
|
123
|
+
----------
|
124
|
+
key : str, optional
|
125
|
+
The key to retrieve the value for, using dot notation (default is None).
|
126
|
+
default : Any, optional
|
127
|
+
The default value to return if the key is not found (default is None).
|
128
|
+
|
129
|
+
Returns
|
130
|
+
-------
|
131
|
+
Any
|
132
|
+
The configuration value associated with the key, or the entire configuration dictionary
|
133
|
+
if no key is provided. If the key is not found, returns the default value.
|
134
|
+
|
135
|
+
Raises
|
136
|
+
------
|
137
|
+
KeyError
|
138
|
+
If the key is not found and no default value is provided.
|
139
|
+
"""
|
112
140
|
pass
|
orionis/framework.py
CHANGED
orionis/luminate/app.py
CHANGED
@@ -1,18 +1,28 @@
|
|
1
1
|
from orionis.luminate.container.container import Container
|
2
2
|
from orionis.luminate.bootstrap.config_bootstrapper import ConfigBootstrapper
|
3
|
+
from orionis.luminate.bootstrap.command_bootstrapper import CommandsBootstrapper
|
3
4
|
from orionis.luminate.patterns.singleton import SingletonMeta
|
4
5
|
|
5
6
|
class Application(metaclass=SingletonMeta):
|
6
7
|
|
7
8
|
def __init__(self):
|
9
|
+
|
10
|
+
self._config = {}
|
11
|
+
self._commands = {}
|
12
|
+
|
8
13
|
self.container = Container()
|
9
14
|
self.container.instance(self.container)
|
10
15
|
self._bootstraping()
|
11
16
|
|
12
17
|
def _bootstraping(self):
|
13
|
-
|
14
|
-
|
15
|
-
|
18
|
+
config_bootstrapper_key = self.container.singleton(ConfigBootstrapper)
|
19
|
+
config_bootstrapper: ConfigBootstrapper = self.container.make(config_bootstrapper_key)
|
20
|
+
self._config = config_bootstrapper.get()
|
21
|
+
|
22
|
+
commands_bootstrapper_key = self.container.singleton(CommandsBootstrapper)
|
23
|
+
commands_bootstrapper: CommandsBootstrapper = self.container.make(commands_bootstrapper_key)
|
24
|
+
self._commands = commands_bootstrapper.get()
|
25
|
+
print(self._commands)
|
16
26
|
|
17
27
|
def isBooted(self):
|
18
28
|
return True
|
@@ -147,4 +147,27 @@ class CommandsBootstrapper(ICommandsBootstrapper):
|
|
147
147
|
'arguments': arguments,
|
148
148
|
'description': description,
|
149
149
|
'signature': signature
|
150
|
-
}
|
150
|
+
}
|
151
|
+
|
152
|
+
def get(self, signature: str = None) -> Dict[str, Any]:
|
153
|
+
"""
|
154
|
+
Retrieves a registered command by its signature.
|
155
|
+
|
156
|
+
Parameters
|
157
|
+
----------
|
158
|
+
signature : str
|
159
|
+
The command signature to retrieve.
|
160
|
+
|
161
|
+
Returns
|
162
|
+
-------
|
163
|
+
Dict[str, Any]
|
164
|
+
A dictionary containing the command class, arguments, description, and signature.
|
165
|
+
|
166
|
+
Raises
|
167
|
+
------
|
168
|
+
KeyError
|
169
|
+
If the command signature is not found.
|
170
|
+
"""
|
171
|
+
if signature is None:
|
172
|
+
return self._commands
|
173
|
+
return self._commands[signature]
|
@@ -165,4 +165,45 @@ class ConfigBootstrapper(IConfigBootstrapper):
|
|
165
165
|
"""
|
166
166
|
if section in self._config:
|
167
167
|
raise ValueError(f"Configuration section '{section}' is already registered.")
|
168
|
-
self._config[section] = data
|
168
|
+
self._config[section] = data
|
169
|
+
|
170
|
+
def get(self, key: str = None, default: Any = None) -> Any:
|
171
|
+
"""
|
172
|
+
Retrieves configuration data.
|
173
|
+
|
174
|
+
If a key is provided, it retrieves the value associated with the key using dot notation.
|
175
|
+
If no key is provided, it returns the entire configuration dictionary.
|
176
|
+
|
177
|
+
Parameters
|
178
|
+
----------
|
179
|
+
key : str, optional
|
180
|
+
The key to retrieve the value for, using dot notation (default is None).
|
181
|
+
default : Any, optional
|
182
|
+
The default value to return if the key is not found (default is None).
|
183
|
+
|
184
|
+
Returns
|
185
|
+
-------
|
186
|
+
Any
|
187
|
+
The configuration value associated with the key, or the entire configuration dictionary
|
188
|
+
if no key is provided. If the key is not found, returns the default value.
|
189
|
+
|
190
|
+
Raises
|
191
|
+
------
|
192
|
+
KeyError
|
193
|
+
If the key is not found and no default value is provided.
|
194
|
+
"""
|
195
|
+
if key is None:
|
196
|
+
return self._config
|
197
|
+
|
198
|
+
keys = key.split('.')
|
199
|
+
value = self._config
|
200
|
+
|
201
|
+
try:
|
202
|
+
for k in keys:
|
203
|
+
value = value[k]
|
204
|
+
except KeyError:
|
205
|
+
if default is not None:
|
206
|
+
return default
|
207
|
+
raise KeyError(f"Key '{key}' not found in configuration.")
|
208
|
+
|
209
|
+
return value
|
@@ -1,9 +1,9 @@
|
|
1
1
|
orionis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
2
|
orionis/cli_manager.py,sha256=0bM-hABXJSoPGuvEgnqeaj9qcLP8VjTQ3z9Mb0TSEUI,1381
|
3
|
-
orionis/framework.py,sha256=
|
3
|
+
orionis/framework.py,sha256=1SuX-fO2e1rTuvmdCIVjhOfzwh24mffYAfBHOkZA2AQ,1386
|
4
4
|
orionis/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
|
-
orionis/contracts/bootstrap/i_command_bootstrapper.py,sha256=
|
6
|
-
orionis/contracts/bootstrap/i_config_bootstrapper.py,sha256=
|
5
|
+
orionis/contracts/bootstrap/i_command_bootstrapper.py,sha256=cfpYWSlNhOY1q_C9o0H7F381OoM0Oh0qaeqP-c85nzk,2457
|
6
|
+
orionis/contracts/bootstrap/i_config_bootstrapper.py,sha256=d2TXT74H2fCBbzWgrt9-ZG11S_H_YPQOEcJoIOrsgb0,4462
|
7
7
|
orionis/contracts/bootstrap/i_environment_bootstrapper.py,sha256=MEeZmh0XWvzvWHFB5ZOp5SKY89F1IHsIXJvdjmEncJU,1076
|
8
8
|
orionis/contracts/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
9
|
orionis/contracts/config/i_config.py,sha256=rbeojO2gm8XhSXIPY8EnUt4e0wO633OKF9Nx_tN5y60,785
|
@@ -54,11 +54,11 @@ orionis/installer/installer_manager.py,sha256=Hb6T0bmSl39T30maY-nUWkrLhG77JdrKe4
|
|
54
54
|
orionis/installer/installer_output.py,sha256=LeKxzuXpnHOKbKpUtx3tMGkCi2bGcPV1VNnfBxwfxUU,7161
|
55
55
|
orionis/installer/installer_setup.py,sha256=c2HtVklSa-2_-YVonc7fwtoK-RTDqBS2Ybvbekgfqtc,6970
|
56
56
|
orionis/luminate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
57
|
-
orionis/luminate/app.py,sha256=
|
57
|
+
orionis/luminate/app.py,sha256=UoP-uDYX2mgeLMVtJHW4xcu9O47mST14Pcfxdghod5Y,1112
|
58
58
|
orionis/luminate/app_context.py,sha256=XREVkOHU6aP8UB2daA2QbFcOCB8HRmcGXjVbrlW1AHQ,1827
|
59
59
|
orionis/luminate/bootstrap/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
|
-
orionis/luminate/bootstrap/command_bootstrapper.py,sha256=
|
61
|
-
orionis/luminate/bootstrap/config_bootstrapper.py,sha256=
|
60
|
+
orionis/luminate/bootstrap/command_bootstrapper.py,sha256=G0qckn4QSi3SRZJCjDApiDhltofb8qp9GOVf0ky0Hew,6926
|
61
|
+
orionis/luminate/bootstrap/config_bootstrapper.py,sha256=Gw83UtPAOggwzqmz062JfJcpIfmZvmIQyZJfgVFiIcQ,7474
|
62
62
|
orionis/luminate/bootstrap/environment_bootstrapper.py,sha256=kBTpc5j01_O5hwTLpKxwx2kOwwjOgJlrqoxlYflmHlE,2758
|
63
63
|
orionis/luminate/bootstrap/exception_bootstrapper.py,sha256=wDKfEW295c7-bavr7YUHK2CLYcTSZgjT9ZRSBne6GOE,1356
|
64
64
|
orionis/luminate/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -144,9 +144,9 @@ tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
144
144
|
tests/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
145
145
|
tests/tools/class_example.py,sha256=dIPD997Y15n6WmKhWoOFSwEldRm9MdOHTZZ49eF1p3c,1056
|
146
146
|
tests/tools/test_reflection.py,sha256=bhLQ7VGVod4B8sv-rW9AjnOumvaBVsoxieA3sdoM2yM,5244
|
147
|
-
orionis-0.
|
148
|
-
orionis-0.
|
149
|
-
orionis-0.
|
150
|
-
orionis-0.
|
151
|
-
orionis-0.
|
152
|
-
orionis-0.
|
147
|
+
orionis-0.58.0.dist-info/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
|
148
|
+
orionis-0.58.0.dist-info/METADATA,sha256=7RmQw3DFcxR9FHvtNUUvqbCbdyld3v5HqOOWe5-BdzY,2978
|
149
|
+
orionis-0.58.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
150
|
+
orionis-0.58.0.dist-info/entry_points.txt,sha256=eef1_CVewfokKjrGBynXa06KabSJYo7LlDKKIKvs1cM,53
|
151
|
+
orionis-0.58.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
|
152
|
+
orionis-0.58.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|