orionis 0.448.0__py3-none-any.whl → 0.449.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/console/args/argument.py +174 -43
- orionis/console/args/parser.py +37 -3
- orionis/console/base/command.py +103 -48
- orionis/console/base/contracts/command.py +97 -40
- orionis/console/core/reactor.py +408 -14
- orionis/console/output/contracts/executor.py +93 -0
- orionis/console/output/executor.py +153 -0
- orionis/foundation/application.py +6 -2
- orionis/foundation/providers/console_provider.py +35 -10
- orionis/foundation/providers/dumper_provider.py +42 -14
- orionis/foundation/providers/executor_provider.py +80 -0
- orionis/foundation/providers/inspirational_provider.py +43 -23
- orionis/foundation/providers/logger_provider.py +47 -8
- orionis/foundation/providers/progress_bar_provider.py +55 -10
- orionis/foundation/providers/testing_provider.py +75 -31
- orionis/foundation/providers/workers_provider.py +69 -11
- orionis/metadata/framework.py +1 -1
- orionis/support/facades/console.py +11 -3
- orionis/support/facades/dumper.py +10 -3
- orionis/support/facades/executor.py +24 -0
- orionis/support/facades/inspire.py +9 -6
- orionis/support/facades/logger.py +11 -4
- orionis/support/facades/progress_bar.py +9 -3
- orionis/support/facades/testing.py +10 -4
- orionis/support/facades/workers.py +8 -4
- orionis/test/kernel.py +2 -2
- {orionis-0.448.0.dist-info → orionis-0.449.0.dist-info}/METADATA +1 -1
- {orionis-0.448.0.dist-info → orionis-0.449.0.dist-info}/RECORD +32 -28
- {orionis-0.448.0.dist-info → orionis-0.449.0.dist-info}/WHEEL +0 -0
- {orionis-0.448.0.dist-info → orionis-0.449.0.dist-info}/licenses/LICENCE +0 -0
- {orionis-0.448.0.dist-info → orionis-0.449.0.dist-info}/top_level.txt +0 -0
- {orionis-0.448.0.dist-info → orionis-0.449.0.dist-info}/zip-safe +0 -0
|
@@ -4,15 +4,28 @@ from orionis.services.log.log_service import LoggerService
|
|
|
4
4
|
|
|
5
5
|
class LoggerProvider(ServiceProvider):
|
|
6
6
|
"""
|
|
7
|
-
|
|
7
|
+
Service provider for logging functionality within the Orionis framework.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
The LoggerProvider is responsible for registering and configuring the logging
|
|
10
|
+
service implementation in the application's dependency injection container.
|
|
11
|
+
It binds the concrete LoggerService to the ILoggerService interface, enabling
|
|
12
|
+
application-wide access to structured logging capabilities.
|
|
13
|
+
|
|
14
|
+
This provider handles the initialization of the logging service with the
|
|
15
|
+
application's configuration and ensures proper registration under both the
|
|
16
|
+
interface contract and an internal framework alias for service resolution.
|
|
11
17
|
|
|
12
18
|
Attributes
|
|
13
19
|
----------
|
|
14
20
|
app : Application
|
|
15
|
-
The application container instance
|
|
21
|
+
The application container instance used for service registration and
|
|
22
|
+
configuration retrieval. Inherited from the base ServiceProvider class.
|
|
23
|
+
|
|
24
|
+
Notes
|
|
25
|
+
-----
|
|
26
|
+
This provider follows the two-phase initialization pattern:
|
|
27
|
+
- register(): Performs service binding and container registration
|
|
28
|
+
- boot(): Handles post-registration initialization and setup
|
|
16
29
|
"""
|
|
17
30
|
|
|
18
31
|
def register(self) -> None:
|
|
@@ -20,25 +33,51 @@ class LoggerProvider(ServiceProvider):
|
|
|
20
33
|
Register the logging service in the application container.
|
|
21
34
|
|
|
22
35
|
This method binds the `LoggerService` implementation to the `ILoggerService`
|
|
23
|
-
contract
|
|
36
|
+
contract within the application's dependency injection container. The service
|
|
37
|
+
is initialized with the application's logging configuration and registered
|
|
38
|
+
with a specific alias for internal framework identification.
|
|
39
|
+
|
|
40
|
+
The registration enables application-wide access to logging functionality
|
|
41
|
+
through the container's service resolution mechanism.
|
|
24
42
|
|
|
25
43
|
Returns
|
|
26
44
|
-------
|
|
27
45
|
None
|
|
46
|
+
This method does not return any value. It performs service registration
|
|
47
|
+
as a side effect on the application container.
|
|
28
48
|
"""
|
|
29
49
|
|
|
30
|
-
|
|
50
|
+
# Retrieve logging configuration from application config
|
|
51
|
+
logging_config = self.app.config('logging')
|
|
52
|
+
|
|
53
|
+
# Create LoggerService instance with the retrieved configuration
|
|
54
|
+
logger_service = LoggerService(logging_config)
|
|
55
|
+
|
|
56
|
+
# Register the service instance in the container with interface binding and alias
|
|
57
|
+
self.app.instance(
|
|
58
|
+
ILoggerService, # Interface contract
|
|
59
|
+
logger_service, # Concrete implementation instance
|
|
60
|
+
alias="x-orionis.services.log.log_service" # Internal framework alias
|
|
61
|
+
)
|
|
31
62
|
|
|
32
63
|
def boot(self) -> None:
|
|
33
64
|
"""
|
|
34
65
|
Perform post-registration initialization for the logging service.
|
|
35
66
|
|
|
36
|
-
This method is
|
|
37
|
-
|
|
67
|
+
This method is called after all service providers have been registered
|
|
68
|
+
and allows for any additional configuration, setup, or initialization
|
|
69
|
+
logic that depends on other services being available in the container.
|
|
70
|
+
|
|
71
|
+
Currently, this method serves as a placeholder and performs no operations,
|
|
72
|
+
but it can be extended to include logging service initialization tasks
|
|
73
|
+
such as setting up log handlers, configuring formatters, or establishing
|
|
74
|
+
connections to external logging systems.
|
|
38
75
|
|
|
39
76
|
Returns
|
|
40
77
|
-------
|
|
41
78
|
None
|
|
79
|
+
This method does not return any value. It performs initialization
|
|
80
|
+
operations as side effects during the application boot process.
|
|
42
81
|
"""
|
|
43
82
|
|
|
44
83
|
pass
|
|
@@ -4,37 +4,82 @@ from orionis.container.providers.service_provider import ServiceProvider
|
|
|
4
4
|
|
|
5
5
|
class ProgressBarProvider(ServiceProvider):
|
|
6
6
|
"""
|
|
7
|
-
Service provider for
|
|
7
|
+
Service provider for dynamic progress bar functionality.
|
|
8
8
|
|
|
9
|
-
This provider
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
This provider is responsible for registering the dynamic progress bar service
|
|
10
|
+
within the application's dependency injection container. It binds the IProgressBar
|
|
11
|
+
interface to its concrete ProgressBar implementation, enabling the creation of
|
|
12
|
+
visual progress indicators for long-running operations in console applications.
|
|
13
|
+
|
|
14
|
+
The provider follows the transient lifetime pattern, ensuring that each request
|
|
15
|
+
for a progress bar service creates a new, independent instance. This approach
|
|
16
|
+
prevents state conflicts when multiple progress bars are used simultaneously
|
|
17
|
+
across different parts of the application.
|
|
18
|
+
|
|
19
|
+
Parameters
|
|
20
|
+
----------
|
|
21
|
+
None
|
|
22
|
+
This class does not accept initialization parameters beyond those
|
|
23
|
+
inherited from the base ServiceProvider class.
|
|
24
|
+
|
|
25
|
+
Returns
|
|
26
|
+
-------
|
|
27
|
+
None
|
|
28
|
+
Service providers do not return values as they are used for
|
|
29
|
+
registration and configuration purposes only.
|
|
30
|
+
|
|
31
|
+
Notes
|
|
32
|
+
-----
|
|
33
|
+
The progress bar service is registered with the alias 'x-orionis.console.dynamic.progress_bar'
|
|
34
|
+
to enable specific identification and retrieval from the container when needed.
|
|
35
|
+
This provider requires the orionis container framework to be properly initialized
|
|
36
|
+
before registration can occur.
|
|
12
37
|
"""
|
|
13
38
|
|
|
14
39
|
def register(self) -> None:
|
|
15
40
|
"""
|
|
16
41
|
Register the progress bar service in the application container.
|
|
17
42
|
|
|
18
|
-
|
|
19
|
-
implementation
|
|
43
|
+
This method binds the IProgressBar interface to the ProgressBar concrete
|
|
44
|
+
implementation using transient lifetime management. The service is registered
|
|
45
|
+
with a specific alias for identification and retrieval within the container.
|
|
46
|
+
|
|
47
|
+
The transient lifetime ensures that a new instance of ProgressBar is created
|
|
48
|
+
each time the IProgressBar interface is resolved from the container.
|
|
49
|
+
|
|
50
|
+
Parameters
|
|
51
|
+
----------
|
|
52
|
+
None
|
|
20
53
|
|
|
21
54
|
Returns
|
|
22
55
|
-------
|
|
23
56
|
None
|
|
57
|
+
This method does not return any value. It performs service registration
|
|
58
|
+
as a side effect on the application container.
|
|
24
59
|
"""
|
|
25
60
|
|
|
26
|
-
self.app.transient(IProgressBar, ProgressBar, alias="
|
|
61
|
+
self.app.transient(IProgressBar, ProgressBar, alias="x-orionis.console.dynamic.progress_bar")
|
|
27
62
|
|
|
28
63
|
def boot(self) -> None:
|
|
29
64
|
"""
|
|
30
|
-
Perform post-registration initialization.
|
|
65
|
+
Perform post-registration initialization for the progress bar provider.
|
|
31
66
|
|
|
32
|
-
This method is called after all providers have been registered
|
|
33
|
-
|
|
67
|
+
This method is called after all service providers have been registered
|
|
68
|
+
in the application container. It provides an opportunity to perform
|
|
69
|
+
any additional setup or configuration that depends on other services
|
|
70
|
+
being available. For the progress bar provider, no additional
|
|
71
|
+
initialization steps are required as the service is fully configured
|
|
72
|
+
during registration.
|
|
73
|
+
|
|
74
|
+
Parameters
|
|
75
|
+
----------
|
|
76
|
+
None
|
|
34
77
|
|
|
35
78
|
Returns
|
|
36
79
|
-------
|
|
37
80
|
None
|
|
81
|
+
This method does not return any value. It serves as a lifecycle
|
|
82
|
+
hook for post-registration initialization.
|
|
38
83
|
"""
|
|
39
84
|
|
|
40
85
|
pass
|
|
@@ -6,76 +6,120 @@ import os
|
|
|
6
6
|
|
|
7
7
|
class TestingProvider(ServiceProvider):
|
|
8
8
|
"""
|
|
9
|
-
Provides
|
|
9
|
+
Provides comprehensive unit testing environment services for the Orionis framework.
|
|
10
10
|
|
|
11
|
-
This provider integrates a native unit testing framework
|
|
12
|
-
enabling advanced testing
|
|
13
|
-
|
|
11
|
+
This service provider integrates a native unit testing framework into the Orionis
|
|
12
|
+
application ecosystem, enabling advanced testing capabilities with configurable
|
|
13
|
+
execution modes, parallel processing, and persistent result storage. The provider
|
|
14
|
+
registers the testing service as a singleton within the application's dependency
|
|
15
|
+
injection container, making it available throughout the application lifecycle.
|
|
16
|
+
|
|
17
|
+
The TestingProvider handles the complete lifecycle of testing services, from
|
|
18
|
+
initial configuration and test discovery to storage preparation and service
|
|
19
|
+
registration. It supports various testing patterns, execution strategies, and
|
|
20
|
+
reporting mechanisms to accommodate different testing scenarios and requirements.
|
|
14
21
|
|
|
15
22
|
Attributes
|
|
16
23
|
----------
|
|
17
24
|
app : Application
|
|
18
|
-
The application container instance
|
|
25
|
+
The Orionis application container instance that manages service registration,
|
|
26
|
+
configuration access, and dependency injection throughout the framework.
|
|
27
|
+
|
|
28
|
+
Notes
|
|
29
|
+
-----
|
|
30
|
+
This provider follows the Orionis service provider pattern, implementing both
|
|
31
|
+
register() and boot() methods to ensure proper service initialization and
|
|
32
|
+
post-registration setup. The testing service is registered with the interface
|
|
33
|
+
binding IUnitTest and can be resolved using the alias "x-orionis.test.core.unit_test".
|
|
34
|
+
|
|
35
|
+
The provider requires a valid testing configuration section in the application
|
|
36
|
+
configuration, which should include settings for verbosity, execution mode,
|
|
37
|
+
worker configuration, and storage paths.
|
|
19
38
|
"""
|
|
20
39
|
|
|
21
40
|
def register(self) -> None:
|
|
22
41
|
"""
|
|
23
42
|
Register the unit testing service in the application container.
|
|
24
43
|
|
|
25
|
-
|
|
26
|
-
|
|
44
|
+
This method creates and configures a UnitTest instance using the application's
|
|
45
|
+
testing configuration, discovers test files based on specified patterns and paths,
|
|
46
|
+
and registers the configured testing service as a singleton in the dependency
|
|
47
|
+
injection container with the IUnitTest interface binding.
|
|
48
|
+
|
|
49
|
+
The registration process includes:
|
|
50
|
+
- Loading testing configuration from the application config
|
|
51
|
+
- Creating and configuring a UnitTest instance with various settings
|
|
52
|
+
- Discovering test files based on configuration parameters
|
|
53
|
+
- Binding the service to the container with alias "x-orionis.test.core.unit_test"
|
|
27
54
|
|
|
28
55
|
Returns
|
|
29
56
|
-------
|
|
30
57
|
None
|
|
58
|
+
This method does not return any value. It performs side effects by
|
|
59
|
+
registering the testing service in the application container.
|
|
31
60
|
"""
|
|
32
61
|
|
|
33
|
-
#
|
|
62
|
+
# Load testing configuration from application config and create Testing instance
|
|
34
63
|
config = Testing(**self.app.config('testing'))
|
|
35
64
|
|
|
36
|
-
#
|
|
65
|
+
# Instantiate the UnitTest implementation with application reference
|
|
37
66
|
unit_test = UnitTest(
|
|
38
67
|
app=self.app
|
|
39
68
|
)
|
|
40
69
|
|
|
41
|
-
#
|
|
70
|
+
# Apply configuration settings to the UnitTest instance
|
|
42
71
|
unit_test.configure(
|
|
43
|
-
verbosity=config.verbosity,
|
|
44
|
-
execution_mode=config.execution_mode,
|
|
45
|
-
max_workers=config.max_workers,
|
|
46
|
-
fail_fast=config.fail_fast,
|
|
47
|
-
print_result=config.print_result,
|
|
48
|
-
throw_exception=config.throw_exception,
|
|
49
|
-
persistent=config.persistent,
|
|
50
|
-
persistent_driver=config.persistent_driver,
|
|
51
|
-
web_report=config.web_report
|
|
72
|
+
verbosity=config.verbosity, # Set output verbosity level
|
|
73
|
+
execution_mode=config.execution_mode, # Configure test execution mode
|
|
74
|
+
max_workers=config.max_workers, # Set maximum worker threads for parallel execution
|
|
75
|
+
fail_fast=config.fail_fast, # Enable/disable fail-fast behavior
|
|
76
|
+
print_result=config.print_result, # Control result output printing
|
|
77
|
+
throw_exception=config.throw_exception, # Configure exception throwing behavior
|
|
78
|
+
persistent=config.persistent, # Enable/disable persistent test results
|
|
79
|
+
persistent_driver=config.persistent_driver, # Set persistent storage driver
|
|
80
|
+
web_report=config.web_report # Enable/disable web-based reporting
|
|
52
81
|
)
|
|
53
82
|
|
|
54
|
-
# Discover
|
|
83
|
+
# Discover and load test files based on configuration criteria
|
|
55
84
|
unit_test.discoverTests(
|
|
56
|
-
base_path=config.base_path,
|
|
57
|
-
folder_path=config.folder_path,
|
|
58
|
-
pattern=config.pattern,
|
|
59
|
-
test_name_pattern=config.test_name_pattern,
|
|
60
|
-
tags=config.tags
|
|
85
|
+
base_path=config.base_path, # Root directory for test discovery
|
|
86
|
+
folder_path=config.folder_path, # Specific folder path within base_path
|
|
87
|
+
pattern=config.pattern, # File name pattern for test files
|
|
88
|
+
test_name_pattern=config.test_name_pattern, # Pattern for test method names
|
|
89
|
+
tags=config.tags # Tags to filter tests during discovery
|
|
61
90
|
)
|
|
62
91
|
|
|
63
|
-
# Register the UnitTest instance in the
|
|
64
|
-
|
|
92
|
+
# Register the configured UnitTest instance in the DI container
|
|
93
|
+
# Binds IUnitTest interface to the UnitTest implementation as a singleton
|
|
94
|
+
self.app.instance(IUnitTest, unit_test, alias="x-orionis.test.core.unit_test")
|
|
65
95
|
|
|
66
96
|
def boot(self) -> None:
|
|
67
97
|
"""
|
|
68
|
-
Perform post-registration initialization
|
|
98
|
+
Perform post-registration initialization for the testing provider.
|
|
69
99
|
|
|
70
|
-
This method is
|
|
71
|
-
|
|
100
|
+
This method is called after the service registration phase to handle any
|
|
101
|
+
additional setup required for the testing environment. It ensures that
|
|
102
|
+
the necessary storage directories for testing operations are created
|
|
103
|
+
and available before test execution begins.
|
|
104
|
+
|
|
105
|
+
The boot process includes:
|
|
106
|
+
- Creating the testing storage directory if it doesn't exist
|
|
107
|
+
- Setting appropriate permissions for the storage path
|
|
108
|
+
- Preparing the filesystem structure for test artifacts
|
|
72
109
|
|
|
73
110
|
Returns
|
|
74
111
|
-------
|
|
75
112
|
None
|
|
113
|
+
This method does not return any value. It performs initialization
|
|
114
|
+
side effects by creating required directories in the filesystem.
|
|
76
115
|
"""
|
|
77
116
|
|
|
78
|
-
#
|
|
117
|
+
# Retrieve the configured storage path for testing artifacts and temporary files
|
|
79
118
|
storage_path = self.app.path('storage_testing')
|
|
119
|
+
|
|
120
|
+
# Check if the testing storage directory exists in the filesystem
|
|
80
121
|
if not os.path.exists(storage_path):
|
|
122
|
+
|
|
123
|
+
# Create the directory structure recursively, including parent directories
|
|
124
|
+
# exist_ok=True prevents errors if directory is created by another process
|
|
81
125
|
os.makedirs(storage_path, exist_ok=True)
|
|
@@ -4,41 +4,99 @@ from orionis.services.system.workers import Workers
|
|
|
4
4
|
|
|
5
5
|
class WorkersProvider(ServiceProvider):
|
|
6
6
|
"""
|
|
7
|
-
|
|
7
|
+
Service provider for worker management functionality within the Orionis framework.
|
|
8
8
|
|
|
9
|
-
This provider
|
|
10
|
-
|
|
9
|
+
This provider is responsible for registering and configuring the worker management
|
|
10
|
+
service implementation in the application's dependency injection container. It
|
|
11
|
+
establishes the binding between the IWorkers interface contract and its concrete
|
|
12
|
+
Workers implementation, enabling consistent worker operations throughout the
|
|
13
|
+
application lifecycle.
|
|
14
|
+
|
|
15
|
+
The provider follows the standard service provider pattern, offering both
|
|
16
|
+
registration and boot phases for complete service lifecycle management.
|
|
11
17
|
|
|
12
18
|
Attributes
|
|
13
19
|
----------
|
|
14
20
|
app : Application
|
|
15
|
-
The application container instance
|
|
21
|
+
The main application container instance used for service registration
|
|
22
|
+
and dependency injection management.
|
|
23
|
+
|
|
24
|
+
Notes
|
|
25
|
+
-----
|
|
26
|
+
This provider registers the worker service with transient lifetime, ensuring
|
|
27
|
+
that each request for worker functionality receives a fresh instance. This
|
|
28
|
+
approach is optimal for worker operations that may maintain temporary state
|
|
29
|
+
or require isolation between different execution contexts.
|
|
16
30
|
"""
|
|
17
31
|
|
|
18
32
|
def register(self) -> None:
|
|
19
33
|
"""
|
|
20
|
-
Register the worker service in the application container.
|
|
34
|
+
Register the worker management service in the application container.
|
|
21
35
|
|
|
22
|
-
|
|
23
|
-
|
|
36
|
+
This method registers the concrete Workers implementation as the service
|
|
37
|
+
provider for the IWorkers interface contract. The service is configured
|
|
38
|
+
as transient, meaning a new instance will be created each time it is
|
|
39
|
+
requested from the container. The registration includes a descriptive
|
|
40
|
+
alias for easy identification and retrieval.
|
|
41
|
+
|
|
42
|
+
Parameters
|
|
43
|
+
----------
|
|
44
|
+
None
|
|
24
45
|
|
|
25
46
|
Returns
|
|
26
47
|
-------
|
|
27
48
|
None
|
|
49
|
+
This method does not return any value. It performs registration
|
|
50
|
+
side effects on the application container.
|
|
51
|
+
|
|
52
|
+
Notes
|
|
53
|
+
-----
|
|
54
|
+
The service is registered with transient lifetime, which means:
|
|
55
|
+
- A new instance is created for each resolution request
|
|
56
|
+
- No instance caching or singleton behavior is applied
|
|
57
|
+
- Suitable for stateless or short-lived worker operations
|
|
28
58
|
"""
|
|
29
59
|
|
|
30
|
-
self.app.transient(
|
|
60
|
+
self.app.transient(
|
|
61
|
+
IWorkers, # The interface contract that defines worker operations
|
|
62
|
+
Workers, # The concrete implementation class
|
|
63
|
+
alias="x-orionis.services.system.workers" # Descriptive alias for container lookup
|
|
64
|
+
)
|
|
31
65
|
|
|
32
66
|
def boot(self) -> None:
|
|
33
67
|
"""
|
|
34
|
-
Perform post-registration initialization
|
|
68
|
+
Perform post-registration initialization for the worker management service.
|
|
35
69
|
|
|
36
|
-
This method is
|
|
37
|
-
|
|
70
|
+
This method is called after all services have been registered in the container
|
|
71
|
+
and provides an opportunity to perform any additional setup, configuration,
|
|
72
|
+
or initialization logic that depends on other services being available.
|
|
73
|
+
|
|
74
|
+
The boot phase occurs after the registration phase and allows for:
|
|
75
|
+
- Cross-service dependency configuration
|
|
76
|
+
- Service warm-up operations
|
|
77
|
+
- Additional service binding or decoration
|
|
78
|
+
- Runtime configuration validation
|
|
79
|
+
|
|
80
|
+
Currently, this implementation serves as a placeholder with no specific
|
|
81
|
+
initialization requirements for the worker service. Future enhancements
|
|
82
|
+
may include worker pool initialization, background task setup, or
|
|
83
|
+
performance monitoring configuration.
|
|
84
|
+
|
|
85
|
+
Parameters
|
|
86
|
+
----------
|
|
87
|
+
None
|
|
38
88
|
|
|
39
89
|
Returns
|
|
40
90
|
-------
|
|
41
91
|
None
|
|
92
|
+
This method performs initialization side effects only and does not
|
|
93
|
+
return any value.
|
|
94
|
+
|
|
95
|
+
Notes
|
|
96
|
+
-----
|
|
97
|
+
This method is automatically called by the service provider framework
|
|
98
|
+
during the application boot sequence. It should not be called manually
|
|
99
|
+
in application code.
|
|
42
100
|
"""
|
|
43
101
|
|
|
44
102
|
pass
|
orionis/metadata/framework.py
CHANGED
|
@@ -5,11 +5,19 @@ class Console(Facade):
|
|
|
5
5
|
@classmethod
|
|
6
6
|
def getFacadeAccessor(cls) -> str:
|
|
7
7
|
"""
|
|
8
|
-
Get the service container binding key for the console component.
|
|
8
|
+
Get the registered service container binding key for the console component.
|
|
9
|
+
|
|
10
|
+
This method returns the specific binding key that is used to resolve the
|
|
11
|
+
console output service from the dependency injection container. The facade
|
|
12
|
+
pattern uses this key to locate and instantiate the underlying console
|
|
13
|
+
service implementation.
|
|
9
14
|
|
|
10
15
|
Returns
|
|
11
16
|
-------
|
|
12
17
|
str
|
|
13
|
-
The
|
|
18
|
+
The string identifier 'x-orionis.console.output.console' used as the
|
|
19
|
+
binding key to resolve the console service from the service container.
|
|
14
20
|
"""
|
|
15
|
-
|
|
21
|
+
|
|
22
|
+
# Return the predefined binding key for the console output service
|
|
23
|
+
return "x-orionis.console.output.console"
|
|
@@ -5,11 +5,18 @@ class Dumper(Facade):
|
|
|
5
5
|
@classmethod
|
|
6
6
|
def getFacadeAccessor(cls) -> str:
|
|
7
7
|
"""
|
|
8
|
-
|
|
8
|
+
Get the registered name of the component in the service container.
|
|
9
|
+
|
|
10
|
+
This method defines the binding key used to resolve the dumper service
|
|
11
|
+
from the application's service container. The dumper facade provides
|
|
12
|
+
a static interface to the underlying dumper service implementation.
|
|
9
13
|
|
|
10
14
|
Returns
|
|
11
15
|
-------
|
|
12
16
|
str
|
|
13
|
-
The binding key "
|
|
17
|
+
The service container binding key "x-orionis.console.dumper.dump"
|
|
18
|
+
that identifies the dumper service instance.
|
|
14
19
|
"""
|
|
15
|
-
|
|
20
|
+
|
|
21
|
+
# Return the specific binding key for the dumper service in the container
|
|
22
|
+
return "x-orionis.console.dumper.dump"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from orionis.container.facades.facade import Facade
|
|
2
|
+
|
|
3
|
+
class ConsoleExecutor(Facade):
|
|
4
|
+
|
|
5
|
+
@classmethod
|
|
6
|
+
def getFacadeAccessor(cls) -> str:
|
|
7
|
+
"""
|
|
8
|
+
Get the registered service container binding key for the executor facade.
|
|
9
|
+
|
|
10
|
+
This method provides the specific binding key that the service container
|
|
11
|
+
uses to resolve and instantiate the executor service. The executor is
|
|
12
|
+
responsible for handling command-line operations and console output
|
|
13
|
+
management within the Orionis framework.
|
|
14
|
+
|
|
15
|
+
Returns
|
|
16
|
+
-------
|
|
17
|
+
str
|
|
18
|
+
The string identifier 'x-orionis.console.output.executor' used as
|
|
19
|
+
the binding key to locate and resolve the executor service instance
|
|
20
|
+
from the dependency injection container.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
# Return the predefined binding key for the executor service
|
|
24
|
+
return "x-orionis.console.output.executor"
|
|
@@ -5,16 +5,19 @@ class Inspire(Facade):
|
|
|
5
5
|
@classmethod
|
|
6
6
|
def getFacadeAccessor(cls):
|
|
7
7
|
"""
|
|
8
|
-
|
|
8
|
+
Get the registered name of the component.
|
|
9
9
|
|
|
10
|
-
This method
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
This method returns the service container binding key that identifies the
|
|
11
|
+
inspirational service implementation. The facade system uses this accessor
|
|
12
|
+
to resolve the underlying service instance from the IoC container when
|
|
13
|
+
facade methods are called.
|
|
13
14
|
|
|
14
15
|
Returns
|
|
15
16
|
-------
|
|
16
17
|
str
|
|
17
|
-
The binding key
|
|
18
|
+
The service container binding key 'x-orionis.services.inspirational.inspire'
|
|
19
|
+
used to resolve the inspirational service instance.
|
|
18
20
|
"""
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
# Return the service container binding key for the inspirational service
|
|
23
|
+
return "x-orionis.services.inspirational.inspire"
|
|
@@ -5,12 +5,19 @@ class Log(Facade):
|
|
|
5
5
|
@classmethod
|
|
6
6
|
def getFacadeAccessor(cls) -> str:
|
|
7
7
|
"""
|
|
8
|
-
|
|
8
|
+
Get the registered name of the component.
|
|
9
|
+
|
|
10
|
+
This method returns the service container binding key that identifies
|
|
11
|
+
the logger service implementation. It serves as the bridge between the
|
|
12
|
+
facade and the actual service instance registered in the container.
|
|
9
13
|
|
|
10
14
|
Returns
|
|
11
15
|
-------
|
|
12
16
|
str
|
|
13
|
-
The
|
|
14
|
-
|
|
17
|
+
The service container binding key "x-orionis.services.log.log_service"
|
|
18
|
+
used to resolve the logger service instance from the dependency
|
|
19
|
+
injection container.
|
|
15
20
|
"""
|
|
16
|
-
|
|
21
|
+
|
|
22
|
+
# Return the service container binding key for the logger service
|
|
23
|
+
return "x-orionis.services.log.log_service"
|
|
@@ -5,11 +5,17 @@ class ProgressBar(Facade):
|
|
|
5
5
|
@classmethod
|
|
6
6
|
def getFacadeAccessor(cls):
|
|
7
7
|
"""
|
|
8
|
-
|
|
8
|
+
Get the registered name of the component.
|
|
9
|
+
|
|
10
|
+
This method returns the binding key that identifies the progress bar service
|
|
11
|
+
within the service container. The facade uses this key to resolve the actual
|
|
12
|
+
progress bar implementation when static methods are called.
|
|
9
13
|
|
|
10
14
|
Returns
|
|
11
15
|
-------
|
|
12
16
|
str
|
|
13
|
-
The
|
|
17
|
+
The service container binding key 'x-orionis.console.dynamic.progress_bar'
|
|
18
|
+
used to retrieve the progress bar service instance.
|
|
14
19
|
"""
|
|
15
|
-
|
|
20
|
+
|
|
21
|
+
return "x-orionis.console.dynamic.progress_bar"
|
|
@@ -5,12 +5,18 @@ class Test(Facade):
|
|
|
5
5
|
@classmethod
|
|
6
6
|
def getFacadeAccessor(cls) -> str:
|
|
7
7
|
"""
|
|
8
|
-
|
|
8
|
+
Get the registered name of the component.
|
|
9
|
+
|
|
10
|
+
This method returns the service container binding key that identifies
|
|
11
|
+
the testing component implementation. The facade uses this key to
|
|
12
|
+
resolve the appropriate testing service from the container when
|
|
13
|
+
static methods are called on the facade.
|
|
9
14
|
|
|
10
15
|
Returns
|
|
11
16
|
-------
|
|
12
17
|
str
|
|
13
|
-
The
|
|
14
|
-
|
|
18
|
+
The service container binding key "x-orionis.test.core.unit_test"
|
|
19
|
+
used to resolve the testing component implementation.
|
|
15
20
|
"""
|
|
16
|
-
|
|
21
|
+
|
|
22
|
+
return "x-orionis.test.core.unit_test"
|