orionis 0.497.0__py3-none-any.whl → 0.499.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/failure/base/handler.py +1 -1
- orionis/foundation/application.py +6 -2
- orionis/foundation/config/roots/paths.py +8 -0
- orionis/foundation/providers/directory_provider.py +55 -0
- orionis/metadata/framework.py +1 -1
- orionis/services/file/contracts/__init__.py +0 -0
- orionis/services/file/contracts/directory.py +329 -0
- orionis/services/file/directory.py +14 -2
- orionis/test/kernel.py +22 -44
- {orionis-0.497.0.dist-info → orionis-0.499.0.dist-info}/METADATA +1 -1
- {orionis-0.497.0.dist-info → orionis-0.499.0.dist-info}/RECORD +15 -12
- {orionis-0.497.0.dist-info → orionis-0.499.0.dist-info}/WHEEL +0 -0
- {orionis-0.497.0.dist-info → orionis-0.499.0.dist-info}/licenses/LICENCE +0 -0
- {orionis-0.497.0.dist-info → orionis-0.499.0.dist-info}/top_level.txt +0 -0
- {orionis-0.497.0.dist-info → orionis-0.499.0.dist-info}/zip-safe +0 -0
orionis/failure/base/handler.py
CHANGED
|
@@ -65,7 +65,7 @@ class BaseExceptionHandler(IBaseExceptionHandler):
|
|
|
65
65
|
# Check if the exception type is in the list of exceptions to ignore
|
|
66
66
|
return hasattr(self, 'dont_cathc') and throwable.classtype in self.dont_cathc
|
|
67
67
|
|
|
68
|
-
def report
|
|
68
|
+
def report(self, exception: BaseException, log: ILogger) -> Any:
|
|
69
69
|
"""
|
|
70
70
|
Report or log an exception.
|
|
71
71
|
|
|
@@ -193,6 +193,7 @@ class Application(Container, IApplication):
|
|
|
193
193
|
from orionis.foundation.providers.performance_counter_provider import PerformanceCounterProvider
|
|
194
194
|
from orionis.foundation.providers.scheduler_provider import ScheduleProvider
|
|
195
195
|
from orionis.foundation.providers.catch_provider import CathcProvider
|
|
196
|
+
from orionis.foundation.providers.directory_provider import DirectoryProvider
|
|
196
197
|
|
|
197
198
|
# Core framework providers
|
|
198
199
|
core_providers = [
|
|
@@ -207,7 +208,8 @@ class Application(Container, IApplication):
|
|
|
207
208
|
ReactorProvider,
|
|
208
209
|
PerformanceCounterProvider,
|
|
209
210
|
ScheduleProvider,
|
|
210
|
-
CathcProvider
|
|
211
|
+
CathcProvider,
|
|
212
|
+
DirectoryProvider
|
|
211
213
|
]
|
|
212
214
|
|
|
213
215
|
# Register each core provider
|
|
@@ -1401,6 +1403,7 @@ class Application(Container, IApplication):
|
|
|
1401
1403
|
sessions: str | Path = (Path.cwd() / 'storage' / 'framework' / 'sessions').resolve(),
|
|
1402
1404
|
cache: str | Path = (Path.cwd() / 'storage' / 'framework' / 'cache').resolve(),
|
|
1403
1405
|
testing: str | Path = (Path.cwd() / 'storage' / 'framework' / 'testing').resolve(),
|
|
1406
|
+
storage: str | Path = (Path.cwd() / 'storage').resolve()
|
|
1404
1407
|
) -> 'Application':
|
|
1405
1408
|
"""
|
|
1406
1409
|
Set and resolve application directory paths using keyword arguments.
|
|
@@ -1505,7 +1508,8 @@ class Application(Container, IApplication):
|
|
|
1505
1508
|
'logs' : str(logs),
|
|
1506
1509
|
'sessions' : str(sessions),
|
|
1507
1510
|
'cache' : str(cache),
|
|
1508
|
-
'testing' : str(testing)
|
|
1511
|
+
'testing' : str(testing),
|
|
1512
|
+
'storage' : str(storage)
|
|
1509
1513
|
}
|
|
1510
1514
|
|
|
1511
1515
|
# Return self instance for method chaining
|
|
@@ -230,6 +230,14 @@ class Paths(BaseEntity):
|
|
|
230
230
|
}
|
|
231
231
|
)
|
|
232
232
|
|
|
233
|
+
storage: str = field(
|
|
234
|
+
default_factory = lambda: str((Path.cwd() / 'storage').resolve()),
|
|
235
|
+
metadata = {
|
|
236
|
+
'description': 'Directory for application storage files.',
|
|
237
|
+
'default': lambda: str((Path.cwd() / 'storage').resolve())
|
|
238
|
+
}
|
|
239
|
+
)
|
|
240
|
+
|
|
233
241
|
def __post_init__(self) -> None:
|
|
234
242
|
"""
|
|
235
243
|
Post-initialization hook to validate path attributes.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
from orionis.container.providers.service_provider import ServiceProvider
|
|
2
|
+
from orionis.services.file.contracts.directory import IDirectory
|
|
3
|
+
from orionis.services.file.directory import Directory
|
|
4
|
+
|
|
5
|
+
class DirectoryProvider(ServiceProvider):
|
|
6
|
+
"""
|
|
7
|
+
Service provider for registering the directory service in the application container.
|
|
8
|
+
|
|
9
|
+
This provider binds the `IDirectory` interface to its concrete implementation (`Directory`)
|
|
10
|
+
as a singleton. This ensures that a single shared instance of the directory service is
|
|
11
|
+
available for dependency injection throughout the application.
|
|
12
|
+
|
|
13
|
+
Attributes
|
|
14
|
+
----------
|
|
15
|
+
app : Application
|
|
16
|
+
The application container instance where services are registered.
|
|
17
|
+
|
|
18
|
+
Methods
|
|
19
|
+
-------
|
|
20
|
+
register()
|
|
21
|
+
Registers the directory service as a singleton in the application container.
|
|
22
|
+
boot()
|
|
23
|
+
Performs post-registration actions if necessary.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
def register(self) -> None:
|
|
27
|
+
"""
|
|
28
|
+
Register the directory service as a singleton in the application container.
|
|
29
|
+
|
|
30
|
+
This method binds the `IDirectory` interface to the `Directory` implementation with
|
|
31
|
+
a specific alias. Only one instance of `Directory` will be created and shared
|
|
32
|
+
throughout the application's lifecycle.
|
|
33
|
+
|
|
34
|
+
Returns
|
|
35
|
+
-------
|
|
36
|
+
None
|
|
37
|
+
This method does not return any value.
|
|
38
|
+
"""
|
|
39
|
+
# Bind IDirectory to Directory as a singleton with a specific alias
|
|
40
|
+
self.app.singleton(IDirectory, Directory, alias="x-orionis.services.file.contracts.directory")
|
|
41
|
+
|
|
42
|
+
def boot(self) -> None:
|
|
43
|
+
"""
|
|
44
|
+
Perform actions required after all providers have been registered.
|
|
45
|
+
|
|
46
|
+
This method is called after the `register` phase. It can be used for additional
|
|
47
|
+
initialization if needed. No additional boot logic is required for this provider.
|
|
48
|
+
|
|
49
|
+
Returns
|
|
50
|
+
-------
|
|
51
|
+
None
|
|
52
|
+
This method does not return any value.
|
|
53
|
+
"""
|
|
54
|
+
# No additional boot logic required for this provider
|
|
55
|
+
pass
|
orionis/metadata/framework.py
CHANGED
|
File without changes
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
from orionis.foundation.contracts.application import IApplication
|
|
4
|
+
|
|
5
|
+
class IDirectory(ABC):
|
|
6
|
+
|
|
7
|
+
@abstractmethod
|
|
8
|
+
def root(self) -> Path:
|
|
9
|
+
"""
|
|
10
|
+
Get the root directory path of the application.
|
|
11
|
+
|
|
12
|
+
Returns
|
|
13
|
+
-------
|
|
14
|
+
Path
|
|
15
|
+
The path to the application's root directory.
|
|
16
|
+
"""
|
|
17
|
+
pass
|
|
18
|
+
|
|
19
|
+
@abstractmethod
|
|
20
|
+
def commands(self) -> Path:
|
|
21
|
+
"""
|
|
22
|
+
Get the commands directory path.
|
|
23
|
+
|
|
24
|
+
Returns
|
|
25
|
+
-------
|
|
26
|
+
Path
|
|
27
|
+
The path to the commands directory.
|
|
28
|
+
"""
|
|
29
|
+
pass
|
|
30
|
+
|
|
31
|
+
@abstractmethod
|
|
32
|
+
def controllers(self) -> Path:
|
|
33
|
+
"""
|
|
34
|
+
Get the controllers directory path.
|
|
35
|
+
|
|
36
|
+
Returns
|
|
37
|
+
-------
|
|
38
|
+
Path
|
|
39
|
+
The path to the controllers directory.
|
|
40
|
+
"""
|
|
41
|
+
pass
|
|
42
|
+
|
|
43
|
+
@abstractmethod
|
|
44
|
+
def middleware(self) -> Path:
|
|
45
|
+
"""
|
|
46
|
+
Get the middleware directory path.
|
|
47
|
+
|
|
48
|
+
Returns
|
|
49
|
+
-------
|
|
50
|
+
Path
|
|
51
|
+
The path to the middleware directory.
|
|
52
|
+
"""
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
@abstractmethod
|
|
56
|
+
def requests(self) -> Path:
|
|
57
|
+
"""
|
|
58
|
+
Get the requests directory path.
|
|
59
|
+
|
|
60
|
+
Returns
|
|
61
|
+
-------
|
|
62
|
+
Path
|
|
63
|
+
The path to the requests directory.
|
|
64
|
+
"""
|
|
65
|
+
pass
|
|
66
|
+
|
|
67
|
+
@abstractmethod
|
|
68
|
+
def models(self) -> Path:
|
|
69
|
+
"""
|
|
70
|
+
Get the models directory path.
|
|
71
|
+
|
|
72
|
+
Returns
|
|
73
|
+
-------
|
|
74
|
+
Path
|
|
75
|
+
The path to the models directory.
|
|
76
|
+
"""
|
|
77
|
+
pass
|
|
78
|
+
|
|
79
|
+
@abstractmethod
|
|
80
|
+
def providers(self) -> Path:
|
|
81
|
+
"""
|
|
82
|
+
Get the providers directory path.
|
|
83
|
+
|
|
84
|
+
Returns
|
|
85
|
+
-------
|
|
86
|
+
Path
|
|
87
|
+
The path to the providers directory.
|
|
88
|
+
"""
|
|
89
|
+
pass
|
|
90
|
+
|
|
91
|
+
@abstractmethod
|
|
92
|
+
def events(self) -> Path:
|
|
93
|
+
"""
|
|
94
|
+
Get the events directory path.
|
|
95
|
+
|
|
96
|
+
Returns
|
|
97
|
+
-------
|
|
98
|
+
Path
|
|
99
|
+
The path to the events directory.
|
|
100
|
+
"""
|
|
101
|
+
pass
|
|
102
|
+
|
|
103
|
+
@abstractmethod
|
|
104
|
+
def listeners(self) -> Path:
|
|
105
|
+
"""
|
|
106
|
+
Get the listeners directory path.
|
|
107
|
+
|
|
108
|
+
Returns
|
|
109
|
+
-------
|
|
110
|
+
Path
|
|
111
|
+
The path to the listeners directory.
|
|
112
|
+
"""
|
|
113
|
+
pass
|
|
114
|
+
|
|
115
|
+
@abstractmethod
|
|
116
|
+
def notifications(self) -> Path:
|
|
117
|
+
"""
|
|
118
|
+
Get the notifications directory path.
|
|
119
|
+
|
|
120
|
+
Returns
|
|
121
|
+
-------
|
|
122
|
+
Path
|
|
123
|
+
The path to the notifications directory.
|
|
124
|
+
"""
|
|
125
|
+
pass
|
|
126
|
+
|
|
127
|
+
@abstractmethod
|
|
128
|
+
def jobs(self) -> Path:
|
|
129
|
+
"""
|
|
130
|
+
Get the jobs directory path.
|
|
131
|
+
|
|
132
|
+
Returns
|
|
133
|
+
-------
|
|
134
|
+
Path
|
|
135
|
+
The path to the jobs directory.
|
|
136
|
+
"""
|
|
137
|
+
pass
|
|
138
|
+
|
|
139
|
+
@abstractmethod
|
|
140
|
+
def policies(self) -> Path:
|
|
141
|
+
"""
|
|
142
|
+
Get the policies directory path.
|
|
143
|
+
|
|
144
|
+
Returns
|
|
145
|
+
-------
|
|
146
|
+
Path
|
|
147
|
+
The path to the policies directory.
|
|
148
|
+
"""
|
|
149
|
+
pass
|
|
150
|
+
|
|
151
|
+
@abstractmethod
|
|
152
|
+
def exceptions(self) -> Path:
|
|
153
|
+
"""
|
|
154
|
+
Get the exceptions directory path.
|
|
155
|
+
|
|
156
|
+
Returns
|
|
157
|
+
-------
|
|
158
|
+
Path
|
|
159
|
+
The path to the exceptions directory.
|
|
160
|
+
"""
|
|
161
|
+
pass
|
|
162
|
+
|
|
163
|
+
@abstractmethod
|
|
164
|
+
def services(self) -> Path:
|
|
165
|
+
"""
|
|
166
|
+
Get the services directory path.
|
|
167
|
+
|
|
168
|
+
Returns
|
|
169
|
+
-------
|
|
170
|
+
Path
|
|
171
|
+
The path to the services directory.
|
|
172
|
+
"""
|
|
173
|
+
pass
|
|
174
|
+
|
|
175
|
+
@abstractmethod
|
|
176
|
+
def views(self) -> Path:
|
|
177
|
+
"""
|
|
178
|
+
Get the views directory path.
|
|
179
|
+
|
|
180
|
+
Returns
|
|
181
|
+
-------
|
|
182
|
+
Path
|
|
183
|
+
The path to the views directory.
|
|
184
|
+
"""
|
|
185
|
+
pass
|
|
186
|
+
|
|
187
|
+
@abstractmethod
|
|
188
|
+
def lang(self) -> Path:
|
|
189
|
+
"""
|
|
190
|
+
Get the language files directory path.
|
|
191
|
+
|
|
192
|
+
Returns
|
|
193
|
+
-------
|
|
194
|
+
Path
|
|
195
|
+
The path to the language files directory.
|
|
196
|
+
"""
|
|
197
|
+
pass
|
|
198
|
+
|
|
199
|
+
@abstractmethod
|
|
200
|
+
def assets(self) -> Path:
|
|
201
|
+
"""
|
|
202
|
+
Get the assets directory path.
|
|
203
|
+
|
|
204
|
+
Returns
|
|
205
|
+
-------
|
|
206
|
+
Path
|
|
207
|
+
The path to the assets directory.
|
|
208
|
+
"""
|
|
209
|
+
pass
|
|
210
|
+
|
|
211
|
+
@abstractmethod
|
|
212
|
+
def routes(self) -> Path:
|
|
213
|
+
"""
|
|
214
|
+
Get the routes directory path.
|
|
215
|
+
|
|
216
|
+
Returns
|
|
217
|
+
-------
|
|
218
|
+
Path
|
|
219
|
+
The path to the routes directory.
|
|
220
|
+
"""
|
|
221
|
+
pass
|
|
222
|
+
|
|
223
|
+
@abstractmethod
|
|
224
|
+
def config(self) -> Path:
|
|
225
|
+
"""
|
|
226
|
+
Get the configuration directory path.
|
|
227
|
+
|
|
228
|
+
Returns
|
|
229
|
+
-------
|
|
230
|
+
Path
|
|
231
|
+
The path to the configuration directory.
|
|
232
|
+
"""
|
|
233
|
+
pass
|
|
234
|
+
|
|
235
|
+
@abstractmethod
|
|
236
|
+
def migrations(self) -> Path:
|
|
237
|
+
"""
|
|
238
|
+
Get the migrations directory path.
|
|
239
|
+
|
|
240
|
+
Returns
|
|
241
|
+
-------
|
|
242
|
+
Path
|
|
243
|
+
The path to the migrations directory.
|
|
244
|
+
"""
|
|
245
|
+
pass
|
|
246
|
+
|
|
247
|
+
@abstractmethod
|
|
248
|
+
def seeders(self) -> Path:
|
|
249
|
+
"""
|
|
250
|
+
Get the seeders directory path.
|
|
251
|
+
|
|
252
|
+
Returns
|
|
253
|
+
-------
|
|
254
|
+
Path
|
|
255
|
+
The path to the seeders directory.
|
|
256
|
+
"""
|
|
257
|
+
pass
|
|
258
|
+
|
|
259
|
+
@abstractmethod
|
|
260
|
+
def factories(self) -> Path:
|
|
261
|
+
"""
|
|
262
|
+
Get the factories directory path.
|
|
263
|
+
|
|
264
|
+
Returns
|
|
265
|
+
-------
|
|
266
|
+
Path
|
|
267
|
+
The path to the factories directory.
|
|
268
|
+
"""
|
|
269
|
+
pass
|
|
270
|
+
|
|
271
|
+
@abstractmethod
|
|
272
|
+
def logs(self) -> Path:
|
|
273
|
+
"""
|
|
274
|
+
Get the logs directory path.
|
|
275
|
+
|
|
276
|
+
Returns
|
|
277
|
+
-------
|
|
278
|
+
Path
|
|
279
|
+
The path to the logs directory.
|
|
280
|
+
"""
|
|
281
|
+
pass
|
|
282
|
+
|
|
283
|
+
@abstractmethod
|
|
284
|
+
def sessions(self) -> Path:
|
|
285
|
+
"""
|
|
286
|
+
Get the sessions directory path.
|
|
287
|
+
|
|
288
|
+
Returns
|
|
289
|
+
-------
|
|
290
|
+
Path
|
|
291
|
+
The path to the sessions directory.
|
|
292
|
+
"""
|
|
293
|
+
pass
|
|
294
|
+
|
|
295
|
+
@abstractmethod
|
|
296
|
+
def cache(self) -> Path:
|
|
297
|
+
"""
|
|
298
|
+
Get the cache directory path.
|
|
299
|
+
|
|
300
|
+
Returns
|
|
301
|
+
-------
|
|
302
|
+
Path
|
|
303
|
+
The path to the cache directory.
|
|
304
|
+
"""
|
|
305
|
+
pass
|
|
306
|
+
|
|
307
|
+
@abstractmethod
|
|
308
|
+
def testing(self) -> Path:
|
|
309
|
+
"""
|
|
310
|
+
Get the testing directory path.
|
|
311
|
+
|
|
312
|
+
Returns
|
|
313
|
+
-------
|
|
314
|
+
Path
|
|
315
|
+
The path to the testing directory.
|
|
316
|
+
"""
|
|
317
|
+
pass
|
|
318
|
+
|
|
319
|
+
@abstractmethod
|
|
320
|
+
def storage(self) -> Path:
|
|
321
|
+
"""
|
|
322
|
+
Get the storage directory path.
|
|
323
|
+
|
|
324
|
+
Returns
|
|
325
|
+
-------
|
|
326
|
+
Path
|
|
327
|
+
The path to the storage directory.
|
|
328
|
+
"""
|
|
329
|
+
pass
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
from orionis.foundation.contracts.application import IApplication
|
|
3
|
+
from orionis.services.file.contracts.directory import IDirectory
|
|
3
4
|
|
|
4
|
-
class Directory:
|
|
5
|
+
class Directory(IDirectory):
|
|
5
6
|
"""
|
|
6
7
|
Provides convenient access to various application directories.
|
|
7
8
|
|
|
@@ -309,4 +310,15 @@ class Directory:
|
|
|
309
310
|
Path
|
|
310
311
|
The path to the testing directory.
|
|
311
312
|
"""
|
|
312
|
-
return Path(self.__app.path('testing'))
|
|
313
|
+
return Path(self.__app.path('testing'))
|
|
314
|
+
|
|
315
|
+
def storage(self) -> Path:
|
|
316
|
+
"""
|
|
317
|
+
Get the storage directory path.
|
|
318
|
+
|
|
319
|
+
Returns
|
|
320
|
+
-------
|
|
321
|
+
Path
|
|
322
|
+
The path to the storage directory.
|
|
323
|
+
"""
|
|
324
|
+
return Path(self.__app.path('storage'))
|
orionis/test/kernel.py
CHANGED
|
@@ -68,9 +68,6 @@ class TestKernel(ITestKernel):
|
|
|
68
68
|
tags=config.tags # Tags to filter tests during discovery
|
|
69
69
|
)
|
|
70
70
|
|
|
71
|
-
# Resolve the console service from the application container
|
|
72
|
-
self.__console: IConsole = app.make('x-orionis.console.output.console')
|
|
73
|
-
|
|
74
71
|
# Initialize the logger service for logging command execution details
|
|
75
72
|
self.__logger: ILogger = app.make('x-orionis.services.log.log_service')
|
|
76
73
|
|
|
@@ -88,47 +85,28 @@ class TestKernel(ITestKernel):
|
|
|
88
85
|
IUnitTest
|
|
89
86
|
The unit test service instance after successful test execution. This allows
|
|
90
87
|
for potential chaining of operations or access to test results.
|
|
91
|
-
|
|
92
|
-
Raises
|
|
93
|
-
------
|
|
94
|
-
SystemExit
|
|
95
|
-
Indirectly raised through console.exitError() when test failures or
|
|
96
|
-
unexpected errors occur during test execution.
|
|
97
88
|
"""
|
|
98
89
|
|
|
99
|
-
#
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
f"Errors: {errors}, Skipped: {skipped}, "
|
|
120
|
-
f"Time: {total_time:.2f}s, Success rate: {success_rate:.2f}%"
|
|
121
|
-
)
|
|
122
|
-
|
|
123
|
-
# Report the test results to the console
|
|
124
|
-
return ouput
|
|
125
|
-
|
|
126
|
-
# Handle expected test failures with a descriptive error message
|
|
127
|
-
except OrionisTestFailureException as e:
|
|
128
|
-
self.__logger.error(f"Test execution failed: {e}")
|
|
129
|
-
self.__console.exitError(f"Test execution failed: {e}")
|
|
90
|
+
# Log the start of test execution
|
|
91
|
+
ouput = self.__unit_test.run()
|
|
92
|
+
|
|
93
|
+
# Extract report details from output
|
|
94
|
+
total_tests = ouput.get("total_tests")
|
|
95
|
+
passed = ouput.get("passed")
|
|
96
|
+
failed = ouput.get("failed")
|
|
97
|
+
errors = ouput.get("errors")
|
|
98
|
+
skipped = ouput.get("skipped")
|
|
99
|
+
total_time = ouput.get("total_time")
|
|
100
|
+
success_rate = ouput.get("success_rate")
|
|
101
|
+
timestamp = ouput.get("timestamp")
|
|
102
|
+
|
|
103
|
+
# Log test execution completion with detailed summary
|
|
104
|
+
self.__logger.info(
|
|
105
|
+
f"Test execution completed at {timestamp} | "
|
|
106
|
+
f"Total: {total_tests}, Passed: {passed}, Failed: {failed}, "
|
|
107
|
+
f"Errors: {errors}, Skipped: {skipped}, "
|
|
108
|
+
f"Time: {total_time:.2f}s, Success rate: {success_rate:.2f}%"
|
|
109
|
+
)
|
|
130
110
|
|
|
131
|
-
#
|
|
132
|
-
|
|
133
|
-
self.__logger.error(f"An unexpected error occurred while executing tests: {e}")
|
|
134
|
-
self.__console.exitError(f"An unexpected error occurred: {e}")
|
|
111
|
+
# Report the test results to the console
|
|
112
|
+
return ouput
|
|
@@ -95,14 +95,14 @@ orionis/container/validators/lifetime.py,sha256=IQ43fDNrxYHMlZH2zlYDJnlkLO_eS4U7
|
|
|
95
95
|
orionis/failure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
96
96
|
orionis/failure/catch.py,sha256=LCr2Fy7mMwhAILx9VVb0KUZTRPg7UyE_8Ai_hJP0NMQ,3627
|
|
97
97
|
orionis/failure/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
98
|
-
orionis/failure/base/handler.py,sha256=
|
|
98
|
+
orionis/failure/base/handler.py,sha256=vA4u9UqKzzRXIafLTxi3beeCxPGco_0BMhazASahNqs,4464
|
|
99
99
|
orionis/failure/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
100
|
orionis/failure/contracts/catch.py,sha256=e2wM1p6VxbvAjgWm-MwoM9p2ystSsyBu8Qnt6Ehr6Vc,1179
|
|
101
101
|
orionis/failure/contracts/handler.py,sha256=1WyFx7D9h5chNnOXDQhg6o-RqNfhTHblm_xWzCDu4SM,2161
|
|
102
102
|
orionis/failure/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
103
103
|
orionis/failure/entities/throwable.py,sha256=ogys062uhim5QMYU62ezlnumRAnYQlUf_vZvQY47S3U,1227
|
|
104
104
|
orionis/foundation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
105
|
-
orionis/foundation/application.py,sha256=
|
|
105
|
+
orionis/foundation/application.py,sha256=tcOqqw49TNIKh7CJGWT2wghPeRPmYcY20KtOSMX89LU,82200
|
|
106
106
|
orionis/foundation/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
107
107
|
orionis/foundation/config/startup.py,sha256=vbzduprRCNyYeR2nnMaqc1uKXw6PTzAY2jVfXNQKN8I,9691
|
|
108
108
|
orionis/foundation/config/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -180,7 +180,7 @@ orionis/foundation/config/queue/entities/queue.py,sha256=YiWPeEg5e0fd_DJM2ogska6
|
|
|
180
180
|
orionis/foundation/config/queue/enums/__init__.py,sha256=oWY8GWwr5mex7szs_bLVqAS1jbyuIAvKl7XFGSlU9A0,64
|
|
181
181
|
orionis/foundation/config/queue/enums/strategy.py,sha256=S_kw7KZtoCk5FTOkbuXepdy_fOl9Eav4uT2K0OyzBa0,602
|
|
182
182
|
orionis/foundation/config/roots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
183
|
-
orionis/foundation/config/roots/paths.py,sha256=
|
|
183
|
+
orionis/foundation/config/roots/paths.py,sha256=qQpghBFyF6hdtrt88sLX-4uqrq0frvaQrcDl0fmsTGU,10565
|
|
184
184
|
orionis/foundation/config/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
185
185
|
orionis/foundation/config/session/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
186
186
|
orionis/foundation/config/session/entities/session.py,sha256=sJoD-_CiwUR88tva-rO22bagG3RTcHXrQGWbq4B5joM,5998
|
|
@@ -206,6 +206,7 @@ orionis/foundation/exceptions/value.py,sha256=hQhXybXEnaa59ba7JxG65jceHt3mnql9My
|
|
|
206
206
|
orionis/foundation/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
207
207
|
orionis/foundation/providers/catch_provider.py,sha256=jLEFyHeyqCWgIJfqSfXrbRm9h6M6M5IkW8M_9o_NvCQ,1701
|
|
208
208
|
orionis/foundation/providers/console_provider.py,sha256=9oDHOGm79O8OtwTFPCYl4hNQgxAskqGdG1mIYyEg6qQ,2970
|
|
209
|
+
orionis/foundation/providers/directory_provider.py,sha256=17Euot2Eahe8DjK0zK2uC3c8gPua4eux3q-MKcomDYU,2091
|
|
209
210
|
orionis/foundation/providers/dumper_provider.py,sha256=nKHjLDClCo-KnPloh6EYVySjgzf6SYSvoxVD6IwJt8M,3355
|
|
210
211
|
orionis/foundation/providers/executor_provider.py,sha256=kwkH8YWEXoEoP51akJXQJ0U25rhlOLxnfE0s9fALr0I,3478
|
|
211
212
|
orionis/foundation/providers/inspirational_provider.py,sha256=uq2o0uLd5p6PR99uH4cJAcc6NnU6nIOwe0ZIdzZcF4Q,3726
|
|
@@ -217,7 +218,7 @@ orionis/foundation/providers/scheduler_provider.py,sha256=72SoixFog9IOE9Ve9Xcfw6
|
|
|
217
218
|
orionis/foundation/providers/testing_provider.py,sha256=SrJRpdvcblx9WvX7x9Y3zc7OQfiTf7la0HAJrm2ESlE,3725
|
|
218
219
|
orionis/foundation/providers/workers_provider.py,sha256=oa_2NIDH6UxZrtuGkkoo_zEoNIMGgJ46vg5CCgAm7wI,3926
|
|
219
220
|
orionis/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
220
|
-
orionis/metadata/framework.py,sha256=
|
|
221
|
+
orionis/metadata/framework.py,sha256=w7r_buzaoWjvBu95waTLa08iamd9l0yUqhUWlL2Ik08,4109
|
|
221
222
|
orionis/metadata/package.py,sha256=k7Yriyp5aUcR-iR8SK2ec_lf0_Cyc-C7JczgXa-I67w,16039
|
|
222
223
|
orionis/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
223
224
|
orionis/services/asynchrony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -248,7 +249,9 @@ orionis/services/environment/validators/__init__.py,sha256=S0Us4_BtKPuOMQZf4uFFq
|
|
|
248
249
|
orionis/services/environment/validators/key_name.py,sha256=TSwVhQCbBYPZ_4zZ-o16yT_2pOe3WRWl9d8KzfDzWyg,1660
|
|
249
250
|
orionis/services/environment/validators/types.py,sha256=hiTszo7hS_1zQLclUIDOFUTGy2Kg2n3dZe7jU8Pmf1I,2839
|
|
250
251
|
orionis/services/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
251
|
-
orionis/services/file/directory.py,sha256=
|
|
252
|
+
orionis/services/file/directory.py,sha256=mEwuY3uAK3rAR9RutSBSey_rhNSaiO6cDo6Og3VzHK0,7652
|
|
253
|
+
orionis/services/file/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
254
|
+
orionis/services/file/contracts/directory.py,sha256=Y6UlsldY2aUhcyeEsp-3L21z7VY2STl7WKH95lcTA4c,6566
|
|
252
255
|
orionis/services/inspirational/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
253
256
|
orionis/services/inspirational/inspire.py,sha256=dUxwkNLjKC4jdi06cVB1gfyB2zHjfgdhYhwKtsOTf0Q,4090
|
|
254
257
|
orionis/services/inspirational/quotes.py,sha256=9hCIEFE0DdfXLaGq_SzFpXlC2AbGSnuFLzyec4Rd1H0,53455
|
|
@@ -344,7 +347,7 @@ orionis/support/standard/exceptions/value.py,sha256=rsyWFQweImaJGTJa7Id7RhPlwWJ4
|
|
|
344
347
|
orionis/support/wrapper/__init__.py,sha256=jGoWoIGYuRYqMYQKlrX7Dpcbg-AGkHoB_aM2xhu73yc,62
|
|
345
348
|
orionis/support/wrapper/dot_dict.py,sha256=T8xWwwOhBZHNeXRwE_CxvOwG9UFxsLqNmOJjV2CNIrc,7284
|
|
346
349
|
orionis/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
347
|
-
orionis/test/kernel.py,sha256=
|
|
350
|
+
orionis/test/kernel.py,sha256=0LiEftvk5ehjDbXUjbcfLzrtXAYfo-cU7GXWzUF5Myo,5300
|
|
348
351
|
orionis/test/cases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
349
352
|
orionis/test/cases/asynchronous.py,sha256=3e1Y3qzIxVU7i7lbLFEVyJ89IA74JsB7famx71W-p2E,1974
|
|
350
353
|
orionis/test/cases/synchronous.py,sha256=S5jhuDEZ5I9wosrTFaCtowkD5r5HzJH6mKPOdEJcDJE,1734
|
|
@@ -391,7 +394,7 @@ orionis/test/validators/web_report.py,sha256=n9BfzOZz6aEiNTypXcwuWbFRG0OdHNSmCNu
|
|
|
391
394
|
orionis/test/validators/workers.py,sha256=rWcdRexINNEmGaO7mnc1MKUxkHKxrTsVuHgbnIfJYgc,1206
|
|
392
395
|
orionis/test/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
393
396
|
orionis/test/view/render.py,sha256=f-zNhtKSg9R5Njqujbg2l2amAs2-mRVESneLIkWOZjU,4082
|
|
394
|
-
orionis-0.
|
|
397
|
+
orionis-0.499.0.dist-info/licenses/LICENCE,sha256=JhC-z_9mbpUrCfPjcl3DhDA8trNDMzb57cvRSam1avc,1463
|
|
395
398
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
396
399
|
tests/container/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
397
400
|
tests/container/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -538,8 +541,8 @@ tests/testing/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
|
538
541
|
tests/testing/validators/test_testing_validators.py,sha256=WPo5GxTP6xE-Dw3X1vZoqOMpb6HhokjNSbgDsDRDvy4,16588
|
|
539
542
|
tests/testing/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
540
543
|
tests/testing/view/test_render.py,sha256=tnnMBwS0iKUIbogLvu-7Rii50G6Koddp3XT4wgdFEYM,1050
|
|
541
|
-
orionis-0.
|
|
542
|
-
orionis-0.
|
|
543
|
-
orionis-0.
|
|
544
|
-
orionis-0.
|
|
545
|
-
orionis-0.
|
|
544
|
+
orionis-0.499.0.dist-info/METADATA,sha256=-RDql0Z6iy50KdTmKWf5iP7VJ65mOeZfCtkT1lUiDsQ,4801
|
|
545
|
+
orionis-0.499.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
546
|
+
orionis-0.499.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
|
|
547
|
+
orionis-0.499.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
|
548
|
+
orionis-0.499.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|