orionis 0.488.0__tar.gz → 0.490.0__tar.gz
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-0.488.0/orionis.egg-info → orionis-0.490.0}/PKG-INFO +1 -1
- {orionis-0.488.0/orionis/console/base → orionis-0.490.0/orionis/console/base/contracts}/scheduler.py +3 -21
- orionis-0.490.0/orionis/console/base/scheduler.py +126 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/commands/help.py +2 -1
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/commands/scheduler_list.py +10 -6
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/commands/scheduler_work.py +9 -2
- orionis-0.490.0/orionis/console/contracts/listener.py +132 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/core/reactor.py +9 -4
- orionis-0.490.0/orionis/console/entities/request.py +35 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/kernel.py +23 -22
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/output/console.py +6 -25
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/tasks/event.py +1 -1
- orionis-0.490.0/orionis/failure/catch.py +150 -0
- orionis-0.490.0/orionis/failure/contracts/catch.py +91 -0
- orionis-0.490.0/orionis/failure/entities/throwable.py +33 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/application.py +3 -1
- orionis-0.490.0/orionis/foundation/providers/catch_provider.py +49 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/metadata/framework.py +1 -1
- {orionis-0.488.0 → orionis-0.490.0/orionis.egg-info}/PKG-INFO +1 -1
- {orionis-0.488.0 → orionis-0.490.0}/orionis.egg-info/SOURCES.txt +10 -2
- orionis-0.490.0/tests/testing/records/__init__.py +0 -0
- orionis-0.490.0/tests/testing/validators/__init__.py +0 -0
- orionis-0.490.0/tests/testing/view/__init__.py +0 -0
- orionis-0.488.0/orionis/console/contracts/event_listener.py +0 -27
- orionis-0.488.0/orionis/services/file/storage.py +0 -7
- {orionis-0.488.0 → orionis-0.490.0}/LICENCE +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/MANIFEST.in +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/README.md +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/app.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/args/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/args/argument.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/args/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/args/enums/actions.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/base/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/base/command.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/base/contracts/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/base/contracts/command.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/commands/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/commands/cache.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/commands/publisher.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/commands/test.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/commands/version.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/commands/workflow.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/contracts/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/contracts/event.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/contracts/kernel.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/contracts/reactor.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/contracts/schedule.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/core/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/dumper/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/dumper/contracts/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/dumper/contracts/dump.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/dumper/dump.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/dynamic/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/dynamic/contracts/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/dynamic/contracts/progress_bar.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/dynamic/progress_bar.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/entities/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/entities/listeners.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/enums/command.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/enums/event.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/exceptions/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/exceptions/cli_exception.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/exceptions/cli_orionis_value_error.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/exceptions/cli_runtime_error.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/exceptions/cli_schedule_exception.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/output/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/output/contracts/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/output/contracts/console.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/output/contracts/executor.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/output/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/output/enums/styles.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/output/executor.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/tasks/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/tasks/exception_report.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/tasks/listener.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/console/tasks/schedule.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/container.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/context/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/context/manager.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/context/scope.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/contracts/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/contracts/container.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/contracts/service_provider.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/entities/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/entities/binding.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/enums/lifetimes.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/exceptions/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/exceptions/attribute.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/exceptions/exception.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/exceptions/type.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/exceptions/value.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/facades/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/facades/facade.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/providers/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/providers/service_provider.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/validators/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/validators/implements.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/validators/is_abstract_class.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/validators/is_callable.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/validators/is_concrete_class.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/validators/is_instance.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/validators/is_not_subclass.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/validators/is_subclass.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/validators/is_valid_alias.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/container/validators/lifetime.py +0 -0
- {orionis-0.488.0/orionis/foundation → orionis-0.490.0/orionis/failure}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config → orionis-0.490.0/orionis/failure/contracts}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/app → orionis-0.490.0/orionis/failure/entities}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/app/entities → orionis-0.490.0/orionis/foundation}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/auth → orionis-0.490.0/orionis/foundation/config}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/auth/entities → orionis-0.490.0/orionis/foundation/config/app}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/cache → orionis-0.490.0/orionis/foundation/config/app/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/app/entities/app.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/app/enums/environments.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/cache/entities → orionis-0.490.0/orionis/foundation/config/auth}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/cors → orionis-0.490.0/orionis/foundation/config/auth/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/cors/entities → orionis-0.490.0/orionis/foundation/config/cache}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/database → orionis-0.490.0/orionis/foundation/config/cache/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/cache/entities/file.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/database/entities → orionis-0.490.0/orionis/foundation/config/cors}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/filesystems → orionis-0.490.0/orionis/foundation/config/cors/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/filesystems/entitites → orionis-0.490.0/orionis/foundation/config/database}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/logging → orionis-0.490.0/orionis/foundation/config/database/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/entities/connections.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/entities/database.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/logging/entities → orionis-0.490.0/orionis/foundation/config/filesystems}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/mail → orionis-0.490.0/orionis/foundation/config/filesystems/entitites}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/mail/entities → orionis-0.490.0/orionis/foundation/config/logging}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/queue → orionis-0.490.0/orionis/foundation/config/logging/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/validators/level.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/logging/validators/path.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/queue/entities → orionis-0.490.0/orionis/foundation/config/mail}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/roots → orionis-0.490.0/orionis/foundation/config/mail/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/mail/entities/file.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/session → orionis-0.490.0/orionis/foundation/config/queue}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/session → orionis-0.490.0/orionis/foundation/config/queue}/entities/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/queue/entities/database.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/session/helpers → orionis-0.490.0/orionis/foundation/config/roots}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/roots/paths.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/testing → orionis-0.490.0/orionis/foundation/config/session}/__init__.py +0 -0
- {orionis-0.488.0/orionis/foundation/config/testing → orionis-0.490.0/orionis/foundation/config/session}/entities/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/session/entities/session.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
- {orionis-0.488.0/orionis/foundation/contracts → orionis-0.490.0/orionis/foundation/config/session/helpers}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/startup.py +0 -0
- {orionis-0.488.0/orionis/foundation/providers → orionis-0.490.0/orionis/foundation/config/testing}/__init__.py +0 -0
- {orionis-0.488.0/orionis/metadata → orionis-0.490.0/orionis/foundation/config/testing/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
- {orionis-0.488.0/orionis/services → orionis-0.490.0/orionis/foundation/contracts}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/contracts/application.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/contracts/config.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/exceptions/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/exceptions/integrity.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/exceptions/runtime.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/exceptions/type.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/exceptions/value.py +0 -0
- {orionis-0.488.0/orionis/services/asynchrony → orionis-0.490.0/orionis/foundation/providers}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/providers/console_provider.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/providers/dumper_provider.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/providers/executor_provider.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/providers/logger_provider.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/providers/reactor_provider.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/providers/testing_provider.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/foundation/providers/workers_provider.py +0 -0
- {orionis-0.488.0/orionis/services/asynchrony/contracts → orionis-0.490.0/orionis/metadata}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/metadata/package.py +0 -0
- {orionis-0.488.0/orionis/services/environment → orionis-0.490.0/orionis/services}/__init__.py +0 -0
- {orionis-0.488.0/orionis/services/environment/contracts → orionis-0.490.0/orionis/services/asynchrony}/__init__.py +0 -0
- {orionis-0.488.0/orionis/services/environment/core → orionis-0.490.0/orionis/services/asynchrony/contracts}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/asynchrony/coroutines.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/asynchrony/exceptions/exception.py +0 -0
- {orionis-0.488.0/orionis/services/environment/dynamic → orionis-0.490.0/orionis/services/environment}/__init__.py +0 -0
- {orionis-0.488.0/orionis/services/environment/helpers → orionis-0.490.0/orionis/services/environment/contracts}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/contracts/caster.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/contracts/env.py +0 -0
- {orionis-0.488.0/orionis/services/environment/key → orionis-0.490.0/orionis/services/environment/core}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/core/dot_env.py +0 -0
- {orionis-0.488.0/orionis/services/file → orionis-0.490.0/orionis/services/environment/dynamic}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/dynamic/caster.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/enums/value_type.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/env.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/exceptions/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/exceptions/exception.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/exceptions/value.py +0 -0
- {orionis-0.488.0/orionis/services/inspirational → orionis-0.490.0/orionis/services/environment/helpers}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/helpers/functions.py +0 -0
- {orionis-0.488.0/orionis/services/inspirational/contracts → orionis-0.490.0/orionis/services/environment/key}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/key/key_generator.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/validators/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/validators/key_name.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/environment/validators/types.py +0 -0
- {orionis-0.488.0/orionis/services/introspection → orionis-0.490.0/orionis/services/file}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/file/directory.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/abstract → orionis-0.490.0/orionis/services/inspirational}/__init__.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/abstract → orionis-0.490.0/orionis/services/inspirational}/contracts/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/inspirational/inspire.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/inspirational/quotes.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/callables → orionis-0.490.0/orionis/services/introspection}/__init__.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/callables/contracts → orionis-0.490.0/orionis/services/introspection/abstract}/__init__.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/concretes → orionis-0.490.0/orionis/services/introspection/abstract/contracts}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/abstract/reflection.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/concretes/contracts → orionis-0.490.0/orionis/services/introspection/callables}/__init__.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/dependencies → orionis-0.490.0/orionis/services/introspection/callables/contracts}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/callables/reflection.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/dependencies/contracts → orionis-0.490.0/orionis/services/introspection/concretes}/__init__.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/dependencies/entities → orionis-0.490.0/orionis/services/introspection/concretes/contracts}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/concretes/reflection.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/instances → orionis-0.490.0/orionis/services/introspection/dependencies}/__init__.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/instances → orionis-0.490.0/orionis/services/introspection/dependencies}/contracts/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/modules → orionis-0.490.0/orionis/services/introspection/dependencies/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/exceptions/attribute.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/exceptions/type.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/exceptions/value.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/modules/contracts → orionis-0.490.0/orionis/services/introspection/instances}/__init__.py +0 -0
- {orionis-0.488.0/orionis/services/introspection/objects → orionis-0.490.0/orionis/services/introspection/instances/contracts}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/instances/reflection.py +0 -0
- {orionis-0.488.0/orionis/services/log → orionis-0.490.0/orionis/services/introspection/modules}/__init__.py +0 -0
- {orionis-0.488.0/orionis/services/log → orionis-0.490.0/orionis/services/introspection/modules}/contracts/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/modules/reflection.py +0 -0
- {orionis-0.488.0/orionis/services/log/handlers → orionis-0.490.0/orionis/services/introspection/objects}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/objects/types.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/introspection/reflection.py +0 -0
- {orionis-0.488.0/orionis/services/system → orionis-0.490.0/orionis/services/log}/__init__.py +0 -0
- {orionis-0.488.0/orionis/services/system → orionis-0.490.0/orionis/services/log}/contracts/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/log/contracts/log_service.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/log/exceptions/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/log/exceptions/runtime.py +0 -0
- {orionis-0.488.0/orionis/services/system/runtime → orionis-0.490.0/orionis/services/log/handlers}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/log/handlers/filename.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/log/handlers/size_rotating.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/log/log_service.py +0 -0
- {orionis-0.488.0/orionis/support → orionis-0.490.0/orionis/services/system}/__init__.py +0 -0
- {orionis-0.488.0/orionis/support/entities → orionis-0.490.0/orionis/services/system/contracts}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/system/contracts/imports.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/system/contracts/workers.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/system/imports.py +0 -0
- {orionis-0.488.0/orionis/support/facades → orionis-0.490.0/orionis/services/system/runtime}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/system/runtime/imports.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/services/system/workers.py +0 -0
- {orionis-0.488.0/orionis/support/formatter → orionis-0.490.0/orionis/support}/__init__.py +0 -0
- {orionis-0.488.0/orionis/support/formatter/exceptions → orionis-0.490.0/orionis/support/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/entities/base.py +0 -0
- {orionis-0.488.0/orionis/support/formatter/exceptions/contracts → orionis-0.490.0/orionis/support/facades}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/facades/application.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/facades/console.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/facades/dumper.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/facades/executor.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/facades/inspire.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/facades/logger.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/facades/performance_counter.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/facades/progress_bar.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/facades/reactor.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/facades/testing.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/facades/workers.py +0 -0
- {orionis-0.488.0/orionis/support/patterns → orionis-0.490.0/orionis/support/formatter}/__init__.py +0 -0
- {orionis-0.488.0/orionis/support/performance → orionis-0.490.0/orionis/support/formatter/exceptions}/__init__.py +0 -0
- {orionis-0.488.0/orionis/support/performance → orionis-0.490.0/orionis/support/formatter/exceptions}/contracts/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/formatter/exceptions/parser.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/formatter/serializer.py +0 -0
- {orionis-0.488.0/orionis/support/standard → orionis-0.490.0/orionis/support/patterns}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/patterns/singleton/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/patterns/singleton/meta.py +0 -0
- {orionis-0.488.0/orionis/support/standard/contracts → orionis-0.490.0/orionis/support/performance}/__init__.py +0 -0
- {orionis-0.488.0/orionis/test → orionis-0.490.0/orionis/support/performance/contracts}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/performance/contracts/counter.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/performance/counter.py +0 -0
- {orionis-0.488.0/orionis/test/cases → orionis-0.490.0/orionis/support/standard}/__init__.py +0 -0
- {orionis-0.488.0/orionis/test → orionis-0.490.0/orionis/support/standard}/contracts/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/standard/contracts/std.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/standard/exceptions/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/standard/exceptions/value.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/standard/std.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/wrapper/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/support/wrapper/dot_dict.py +0 -0
- {orionis-0.488.0/orionis/test/core → orionis-0.490.0/orionis/test}/__init__.py +0 -0
- {orionis-0.488.0/orionis/test/entities → orionis-0.490.0/orionis/test/cases}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/cases/asynchronous.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/cases/synchronous.py +0 -0
- {orionis-0.488.0/orionis/test/output → orionis-0.490.0/orionis/test/contracts}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/contracts/dumper.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/contracts/kernel.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/contracts/logs.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/contracts/printer.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/contracts/render.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/contracts/test_result.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/contracts/unit_test.py +0 -0
- {orionis-0.488.0/orionis/test/records → orionis-0.490.0/orionis/test/core}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/core/unit_test.py +0 -0
- {orionis-0.488.0/orionis/test/view → orionis-0.490.0/orionis/test/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/entities/result.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/enums/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/enums/status.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/exceptions/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/exceptions/config.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/exceptions/failure.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/exceptions/persistence.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/exceptions/runtime.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/exceptions/value.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/kernel.py +0 -0
- {orionis-0.488.0/tests → orionis-0.490.0/orionis/test/output}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/output/dumper.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/output/printer.py +0 -0
- {orionis-0.488.0/tests/container → orionis-0.490.0/orionis/test/records}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/records/logs.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/base_path.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/execution_mode.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/fail_fast.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/folder_path.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/module_name.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/name_pattern.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/pattern.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/persistent.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/persistent_driver.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/print_result.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/tags.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/throw_exception.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/verbosity.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/web_report.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/validators/workers.py +0 -0
- {orionis-0.488.0/tests/container/context → orionis-0.490.0/orionis/test/view}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis/test/view/render.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis.egg-info/dependency_links.txt +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis.egg-info/requires.txt +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis.egg-info/top_level.txt +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/orionis.egg-info/zip-safe +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/setup.cfg +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/setup.py +0 -0
- {orionis-0.488.0/tests/container/core → orionis-0.490.0/tests}/__init__.py +0 -0
- {orionis-0.488.0/tests/container/entities → orionis-0.490.0/tests/container}/__init__.py +0 -0
- {orionis-0.488.0/tests/container/enums → orionis-0.490.0/tests/container/context}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/context/test_manager.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/context/test_scope.py +0 -0
- {orionis-0.488.0/tests/container/facades → orionis-0.490.0/tests/container/core}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/core/test_advanced_async.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/core/test_async_optimizations.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/core/test_container.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/core/test_singleton.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/core/test_thread_safety.py +0 -0
- {orionis-0.488.0/tests/container/mocks → orionis-0.490.0/tests/container/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/entities/test_binding.py +0 -0
- {orionis-0.488.0/tests/container/providers → orionis-0.490.0/tests/container/enums}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/enums/test_lifetimes.py +0 -0
- {orionis-0.488.0/tests/container/validators → orionis-0.490.0/tests/container/facades}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/facades/test_facade.py +0 -0
- {orionis-0.488.0/tests/example → orionis-0.490.0/tests/container/mocks}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/mocks/mock_advanced_async.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/mocks/mock_async_optimizations.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/mocks/mock_auto_resolution.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/mocks/mock_complex_classes.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/mocks/mock_simple_classes.py +0 -0
- {orionis-0.488.0/tests/foundation → orionis-0.490.0/tests/container/providers}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/providers/test_providers.py +0 -0
- {orionis-0.488.0/tests/foundation/config → orionis-0.490.0/tests/container/validators}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/validators/test_implements.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/validators/test_is_abstract_class.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/validators/test_is_callable.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/validators/test_is_concrete_class.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/validators/test_is_instance.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/validators/test_is_not_subclass.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/validators/test_is_subclass.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/validators/test_is_valid_alias.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/container/validators/test_lifetime.py +0 -0
- {orionis-0.488.0/tests/foundation/config/app → orionis-0.490.0/tests/example}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/example/test_example.py +0 -0
- {orionis-0.488.0/tests/foundation/config/auth → orionis-0.490.0/tests/foundation}/__init__.py +0 -0
- {orionis-0.488.0/tests/foundation/config/cache → orionis-0.490.0/tests/foundation/config}/__init__.py +0 -0
- {orionis-0.488.0/tests/foundation/config/cors → orionis-0.490.0/tests/foundation/config/app}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
- {orionis-0.488.0/tests/foundation/config/database → orionis-0.490.0/tests/foundation/config/auth}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
- {orionis-0.488.0/tests/foundation/config/filesystems → orionis-0.490.0/tests/foundation/config/cache}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
- {orionis-0.488.0/tests/foundation/config/logging → orionis-0.490.0/tests/foundation/config/cors}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
- {orionis-0.488.0/tests/foundation/config/mail → orionis-0.490.0/tests/foundation/config/database}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
- {orionis-0.488.0/tests/foundation/config/queue → orionis-0.490.0/tests/foundation/config/filesystems}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
- {orionis-0.488.0/tests/foundation/config/root → orionis-0.490.0/tests/foundation/config/logging}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
- {orionis-0.488.0/tests/foundation/config/session → orionis-0.490.0/tests/foundation/config/mail}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
- {orionis-0.488.0/tests/foundation/config/startup → orionis-0.490.0/tests/foundation/config/queue}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
- {orionis-0.488.0/tests/foundation/config/testing → orionis-0.490.0/tests/foundation/config/root}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
- {orionis-0.488.0/tests/metadata → orionis-0.490.0/tests/foundation/config/session}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
- {orionis-0.488.0/tests/services → orionis-0.490.0/tests/foundation/config/startup}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
- {orionis-0.488.0/tests/services/asynchrony → orionis-0.490.0/tests/foundation/config/testing}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
- {orionis-0.488.0/tests/services/environment → orionis-0.490.0/tests/metadata}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/metadata/test_metadata_framework.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/metadata/test_metadata_package.py +0 -0
- {orionis-0.488.0/tests/services/introspection → orionis-0.490.0/tests/services}/__init__.py +0 -0
- {orionis-0.488.0/tests/services/introspection/dependencies → orionis-0.490.0/tests/services/asynchrony}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
- {orionis-0.488.0/tests/services/introspection/dependencies/mocks → orionis-0.490.0/tests/services/environment}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/environment/test_services_environment.py +0 -0
- {orionis-0.488.0/tests/services/introspection/reflection → orionis-0.490.0/tests/services/introspection}/__init__.py +0 -0
- {orionis-0.488.0/tests/services/introspection/reflection/mock → orionis-0.490.0/tests/services/introspection/dependencies}/__init__.py +0 -0
- {orionis-0.488.0/tests/services/log → orionis-0.490.0/tests/services/introspection/dependencies/mocks}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/introspection/dependencies/mocks/mock_user.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/introspection/dependencies/mocks/mock_user_controller.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/introspection/dependencies/mocks/mock_users_permissions.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/introspection/dependencies/test_reflect_dependencies.py +0 -0
- {orionis-0.488.0/tests/services/system → orionis-0.490.0/tests/services/introspection/reflection}/__init__.py +0 -0
- {orionis-0.488.0/tests/support → orionis-0.490.0/tests/services/introspection/reflection/mock}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/introspection/reflection/mock/fake_reflect_instance.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/introspection/reflection/test_reflection_abstract.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/introspection/reflection/test_reflection_callable.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/introspection/reflection/test_reflection_concrete.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/introspection/reflection/test_reflection_instance.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/introspection/reflection/test_reflection_module.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/introspection/test_reflection.py +0 -0
- {orionis-0.488.0/tests/support/entities → orionis-0.490.0/tests/services/log}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/log/test_log.py +0 -0
- {orionis-0.488.0/tests/support/patterns → orionis-0.490.0/tests/services/system}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/system/test_services_system_imports.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/services/system/test_services_system_workers.py +0 -0
- {orionis-0.488.0/tests/support/patterns/singleton → orionis-0.490.0/tests/support}/__init__.py +0 -0
- {orionis-0.488.0/tests/support/standard → orionis-0.490.0/tests/support/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/support/entities/mock_dataclass.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/support/entities/test_base.py +0 -0
- {orionis-0.488.0/tests/support/wrapper → orionis-0.490.0/tests/support/patterns}/__init__.py +0 -0
- {orionis-0.488.0/tests/testing → orionis-0.490.0/tests/support/patterns/singleton}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/support/patterns/singleton/test_patterns_singleton.py +0 -0
- {orionis-0.488.0/tests/testing/cases → orionis-0.490.0/tests/support/standard}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/support/standard/test_services_std.py +0 -0
- {orionis-0.488.0/tests/testing/entities → orionis-0.490.0/tests/support/wrapper}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
- {orionis-0.488.0/tests/testing/enums → orionis-0.490.0/tests/testing}/__init__.py +0 -0
- {orionis-0.488.0/tests/testing/output → orionis-0.490.0/tests/testing/cases}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/testing/cases/test_testing_asynchronous.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/testing/cases/test_testing_synchronous.py +0 -0
- {orionis-0.488.0/tests/testing/records → orionis-0.490.0/tests/testing/entities}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/testing/entities/test_testing_result.py +0 -0
- {orionis-0.488.0/tests/testing/validators → orionis-0.490.0/tests/testing/enums}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/testing/enums/test_testing_status.py +0 -0
- {orionis-0.488.0/tests/testing/view → orionis-0.490.0/tests/testing/output}/__init__.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/testing/output/test_testing_dumper.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/testing/output/test_testing_printer.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/testing/records/test_testing_records.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/testing/test_testing_unit.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/testing/validators/test_testing_validators.py +0 -0
- {orionis-0.488.0 → orionis-0.490.0}/tests/testing/view/test_render.py +0 -0
{orionis-0.488.0/orionis/console/base → orionis-0.490.0/orionis/console/base/contracts}/scheduler.py
RENAMED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
1
2
|
from datetime import datetime
|
|
2
3
|
from orionis.console.contracts.schedule import ISchedule
|
|
3
4
|
|
|
4
|
-
class
|
|
5
|
+
class IBaseScheduler(ABC):
|
|
5
6
|
|
|
6
7
|
# Pause Global Scheduler at a specific time
|
|
7
8
|
PAUSE_AT: datetime = None
|
|
@@ -12,6 +13,7 @@ class BaseScheduler:
|
|
|
12
13
|
# Finalize Global Scheduler at a specific time
|
|
13
14
|
FINALIZE_AT: datetime = None
|
|
14
15
|
|
|
16
|
+
@abstractmethod
|
|
15
17
|
def tasks(self, schedule: ISchedule):
|
|
16
18
|
"""
|
|
17
19
|
Defines and registers scheduled tasks for the application.
|
|
@@ -33,24 +35,4 @@ class BaseScheduler:
|
|
|
33
35
|
to the scheduler using the provided `schedule` object.
|
|
34
36
|
"""
|
|
35
37
|
# This method should be overridden in subclasses to define scheduled tasks.
|
|
36
|
-
pass
|
|
37
|
-
|
|
38
|
-
def onStarted(self):
|
|
39
|
-
# Called when the scheduler is started.
|
|
40
|
-
pass
|
|
41
|
-
|
|
42
|
-
def onPaused(self):
|
|
43
|
-
# Called when the scheduler is paused.
|
|
44
|
-
pass
|
|
45
|
-
|
|
46
|
-
def onResumed(self):
|
|
47
|
-
# Called when the scheduler is resumed.
|
|
48
|
-
pass
|
|
49
|
-
|
|
50
|
-
def onFinalized(self):
|
|
51
|
-
# Called when the scheduler is finalized.
|
|
52
|
-
pass
|
|
53
|
-
|
|
54
|
-
def onError(self, error: Exception):
|
|
55
|
-
# Called when an error occurs in the scheduler.
|
|
56
38
|
pass
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
from orionis.console.base.contracts.scheduler import IBaseScheduler
|
|
3
|
+
from orionis.console.contracts.schedule import ISchedule
|
|
4
|
+
|
|
5
|
+
class BaseScheduler(IBaseScheduler):
|
|
6
|
+
|
|
7
|
+
# Pause Global Scheduler at a specific time
|
|
8
|
+
PAUSE_AT: datetime = None
|
|
9
|
+
|
|
10
|
+
# Resume Global Scheduler at a specific time
|
|
11
|
+
RESUME_AT: datetime = None
|
|
12
|
+
|
|
13
|
+
# Finalize Global Scheduler at a specific time
|
|
14
|
+
FINALIZE_AT: datetime = None
|
|
15
|
+
|
|
16
|
+
def tasks(self, schedule: ISchedule):
|
|
17
|
+
"""
|
|
18
|
+
Defines and registers scheduled tasks for the application.
|
|
19
|
+
|
|
20
|
+
Parameters
|
|
21
|
+
----------
|
|
22
|
+
schedule : ISchedule
|
|
23
|
+
The schedule object used to define and register scheduled commands.
|
|
24
|
+
|
|
25
|
+
Returns
|
|
26
|
+
-------
|
|
27
|
+
None
|
|
28
|
+
This method does not return any value. It is intended to be overridden
|
|
29
|
+
by subclasses to specify scheduled tasks.
|
|
30
|
+
|
|
31
|
+
Notes
|
|
32
|
+
-----
|
|
33
|
+
Subclasses should implement this method to add specific tasks to the scheduler
|
|
34
|
+
using the provided `schedule` object. This method enforces that each subclass
|
|
35
|
+
defines its own scheduled tasks.
|
|
36
|
+
"""
|
|
37
|
+
# Raise an error to enforce implementation in subclasses
|
|
38
|
+
raise NotImplementedError("The 'tasks' method must be implemented in the subclass.")
|
|
39
|
+
|
|
40
|
+
def onStarted(self):
|
|
41
|
+
"""
|
|
42
|
+
Called when the scheduler is started.
|
|
43
|
+
|
|
44
|
+
Returns
|
|
45
|
+
-------
|
|
46
|
+
None
|
|
47
|
+
This method does not return any value.
|
|
48
|
+
|
|
49
|
+
Notes
|
|
50
|
+
-----
|
|
51
|
+
Intended to be overridden by subclasses to implement custom behavior that should
|
|
52
|
+
occur when the scheduler starts running.
|
|
53
|
+
"""
|
|
54
|
+
# Placeholder for logic to execute when the scheduler starts
|
|
55
|
+
pass
|
|
56
|
+
|
|
57
|
+
def onPaused(self):
|
|
58
|
+
"""
|
|
59
|
+
Called when the scheduler is paused.
|
|
60
|
+
|
|
61
|
+
Returns
|
|
62
|
+
-------
|
|
63
|
+
None
|
|
64
|
+
This method does not return any value.
|
|
65
|
+
|
|
66
|
+
Notes
|
|
67
|
+
-----
|
|
68
|
+
Should be overridden to define custom behavior that occurs when the scheduler
|
|
69
|
+
enters a paused state.
|
|
70
|
+
"""
|
|
71
|
+
# Placeholder for logic to execute when the scheduler is paused
|
|
72
|
+
pass
|
|
73
|
+
|
|
74
|
+
def onResumed(self):
|
|
75
|
+
"""
|
|
76
|
+
Called when the scheduler is resumed from a paused state.
|
|
77
|
+
|
|
78
|
+
Returns
|
|
79
|
+
-------
|
|
80
|
+
None
|
|
81
|
+
This method does not return any value.
|
|
82
|
+
|
|
83
|
+
Notes
|
|
84
|
+
-----
|
|
85
|
+
Should be overridden to implement any actions that need to occur when the
|
|
86
|
+
scheduler resumes operation.
|
|
87
|
+
"""
|
|
88
|
+
# Placeholder for logic to execute when the scheduler is resumed
|
|
89
|
+
pass
|
|
90
|
+
|
|
91
|
+
def onFinalized(self):
|
|
92
|
+
"""
|
|
93
|
+
Called when the scheduler has completed its execution and is being finalized.
|
|
94
|
+
|
|
95
|
+
Returns
|
|
96
|
+
-------
|
|
97
|
+
None
|
|
98
|
+
This method does not return any value.
|
|
99
|
+
|
|
100
|
+
Notes
|
|
101
|
+
-----
|
|
102
|
+
Can be overridden to perform any necessary cleanup or finalization tasks.
|
|
103
|
+
"""
|
|
104
|
+
# Placeholder for logic to execute when the scheduler is finalized
|
|
105
|
+
pass
|
|
106
|
+
|
|
107
|
+
def onError(self, error: Exception):
|
|
108
|
+
"""
|
|
109
|
+
Handles errors that occur within the scheduler.
|
|
110
|
+
|
|
111
|
+
Parameters
|
|
112
|
+
----------
|
|
113
|
+
error : Exception
|
|
114
|
+
The exception instance representing the error that occurred.
|
|
115
|
+
|
|
116
|
+
Returns
|
|
117
|
+
-------
|
|
118
|
+
None
|
|
119
|
+
This method does not return any value.
|
|
120
|
+
|
|
121
|
+
Notes
|
|
122
|
+
-----
|
|
123
|
+
Can be overridden to implement custom error handling logic for the scheduler.
|
|
124
|
+
"""
|
|
125
|
+
# Placeholder for logic to handle errors in the scheduler
|
|
126
|
+
pass
|
|
@@ -40,7 +40,8 @@ class HelpCommand(BaseCommand):
|
|
|
40
40
|
try:
|
|
41
41
|
|
|
42
42
|
# Retrieve the list of available commands from the reactor
|
|
43
|
-
|
|
43
|
+
# List of dicts with 'signature' and 'description'
|
|
44
|
+
commands = reactor.info()
|
|
44
45
|
|
|
45
46
|
# Initialize the rich console for formatted output
|
|
46
47
|
console = Console()
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import importlib
|
|
2
|
-
import os
|
|
3
|
-
from pathlib import Path
|
|
4
1
|
from rich.console import Console
|
|
5
2
|
from rich.panel import Panel
|
|
6
3
|
from rich.table import Table
|
|
7
4
|
from orionis.console.base.command import BaseCommand
|
|
8
5
|
from orionis.console.contracts.schedule import ISchedule
|
|
9
6
|
from orionis.console.exceptions import CLIOrionisRuntimeError
|
|
7
|
+
from orionis.container.exceptions.exception import OrionisContainerException
|
|
10
8
|
from orionis.foundation.contracts.application import IApplication
|
|
9
|
+
from orionis.foundation.exceptions.runtime import OrionisRuntimeError
|
|
11
10
|
|
|
12
11
|
class ScheduleListCommand(BaseCommand):
|
|
13
12
|
"""
|
|
@@ -88,7 +87,7 @@ class ScheduleListCommand(BaseCommand):
|
|
|
88
87
|
table.add_column("Signature", style="cyan", no_wrap=True)
|
|
89
88
|
table.add_column("Arguments", style="magenta")
|
|
90
89
|
table.add_column("Purpose", style="green")
|
|
91
|
-
table.add_column("Random Delay", style="yellow")
|
|
90
|
+
table.add_column("Random Delay (calculated result)", style="yellow")
|
|
92
91
|
table.add_column("Start Date", style="white")
|
|
93
92
|
table.add_column("End Date", style="white")
|
|
94
93
|
table.add_column("Details", style="dim")
|
|
@@ -111,8 +110,13 @@ class ScheduleListCommand(BaseCommand):
|
|
|
111
110
|
console.line()
|
|
112
111
|
return True
|
|
113
112
|
|
|
114
|
-
except Exception as
|
|
113
|
+
except Exception as e:
|
|
114
|
+
|
|
115
|
+
# If the exception is already a CLIOrionisRuntimeError or OrionisContainerException, re-raise it
|
|
116
|
+
if isinstance(e, (OrionisRuntimeError, OrionisContainerException)):
|
|
117
|
+
raise
|
|
118
|
+
|
|
115
119
|
# Catch any unexpected exceptions and raise as a CLIOrionisRuntimeError
|
|
116
120
|
raise CLIOrionisRuntimeError(
|
|
117
|
-
f"An unexpected error occurred while listing the scheduled jobs: {
|
|
121
|
+
f"An unexpected error occurred while listing the scheduled jobs: {e}"
|
|
118
122
|
)
|
|
@@ -5,7 +5,9 @@ from rich.text import Text
|
|
|
5
5
|
from orionis.console.base.command import BaseCommand
|
|
6
6
|
from orionis.console.contracts.schedule import ISchedule
|
|
7
7
|
from orionis.console.exceptions import CLIOrionisRuntimeError
|
|
8
|
+
from orionis.container.exceptions.exception import OrionisContainerException
|
|
8
9
|
from orionis.foundation.contracts.application import IApplication
|
|
10
|
+
from orionis.foundation.exceptions.runtime import OrionisRuntimeError
|
|
9
11
|
|
|
10
12
|
class ScheduleWorkCommand(BaseCommand):
|
|
11
13
|
"""
|
|
@@ -101,8 +103,13 @@ class ScheduleWorkCommand(BaseCommand):
|
|
|
101
103
|
await schedule_serice.start()
|
|
102
104
|
return True
|
|
103
105
|
|
|
104
|
-
except Exception as
|
|
106
|
+
except Exception as e:
|
|
107
|
+
|
|
108
|
+
# If the exception is already a CLIOrionisRuntimeError or OrionisContainerException, re-raise it
|
|
109
|
+
if isinstance(e, (OrionisRuntimeError, OrionisContainerException)):
|
|
110
|
+
raise
|
|
111
|
+
|
|
105
112
|
# Raise any unexpected exceptions as CLIOrionisRuntimeError
|
|
106
113
|
raise CLIOrionisRuntimeError(
|
|
107
|
-
f"An unexpected error occurred while starting the scheduler worker: {
|
|
114
|
+
f"An unexpected error occurred while starting the scheduler worker: {e}"
|
|
108
115
|
)
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
|
|
3
|
+
class IEventListener(ABC):
|
|
4
|
+
"""
|
|
5
|
+
Interface for event listeners that handle various stages of event processing.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
@abstractmethod
|
|
9
|
+
def before(self, event):
|
|
10
|
+
"""
|
|
11
|
+
Hook method called before the main event handling logic.
|
|
12
|
+
|
|
13
|
+
Parameters
|
|
14
|
+
----------
|
|
15
|
+
event : object
|
|
16
|
+
The event object that is about to be processed.
|
|
17
|
+
|
|
18
|
+
Returns
|
|
19
|
+
-------
|
|
20
|
+
None
|
|
21
|
+
This method does not return anything.
|
|
22
|
+
|
|
23
|
+
Notes
|
|
24
|
+
-----
|
|
25
|
+
Override this method to implement logic that should run before the event is handled.
|
|
26
|
+
"""
|
|
27
|
+
pass
|
|
28
|
+
|
|
29
|
+
@abstractmethod
|
|
30
|
+
def after(self, event):
|
|
31
|
+
"""
|
|
32
|
+
Hook method called after an event is processed.
|
|
33
|
+
|
|
34
|
+
Parameters
|
|
35
|
+
----------
|
|
36
|
+
event : object
|
|
37
|
+
The event object that was processed.
|
|
38
|
+
|
|
39
|
+
Returns
|
|
40
|
+
-------
|
|
41
|
+
None
|
|
42
|
+
This method does not return anything.
|
|
43
|
+
|
|
44
|
+
Notes
|
|
45
|
+
-----
|
|
46
|
+
Override this method to implement logic that should run after the event is handled.
|
|
47
|
+
"""
|
|
48
|
+
pass
|
|
49
|
+
|
|
50
|
+
@abstractmethod
|
|
51
|
+
def onSuccess(self, event):
|
|
52
|
+
"""
|
|
53
|
+
Handle actions to be performed when an event is successfully processed.
|
|
54
|
+
|
|
55
|
+
Parameters
|
|
56
|
+
----------
|
|
57
|
+
event : object
|
|
58
|
+
The event object that triggered the success callback.
|
|
59
|
+
|
|
60
|
+
Returns
|
|
61
|
+
-------
|
|
62
|
+
None
|
|
63
|
+
This method does not return anything.
|
|
64
|
+
|
|
65
|
+
Notes
|
|
66
|
+
-----
|
|
67
|
+
Override this method to define actions on successful event processing.
|
|
68
|
+
"""
|
|
69
|
+
pass
|
|
70
|
+
|
|
71
|
+
@abstractmethod
|
|
72
|
+
def onFailure(self, event):
|
|
73
|
+
"""
|
|
74
|
+
Handle the event when a failure occurs during event processing.
|
|
75
|
+
|
|
76
|
+
Parameters
|
|
77
|
+
----------
|
|
78
|
+
event : object
|
|
79
|
+
The event object containing information about the failure.
|
|
80
|
+
|
|
81
|
+
Returns
|
|
82
|
+
-------
|
|
83
|
+
None
|
|
84
|
+
This method does not return anything.
|
|
85
|
+
|
|
86
|
+
Notes
|
|
87
|
+
-----
|
|
88
|
+
Override this method to define actions when event processing fails.
|
|
89
|
+
"""
|
|
90
|
+
pass
|
|
91
|
+
|
|
92
|
+
@abstractmethod
|
|
93
|
+
def onMissed(self, event):
|
|
94
|
+
"""
|
|
95
|
+
Handle the event when an expected event is missed.
|
|
96
|
+
|
|
97
|
+
Parameters
|
|
98
|
+
----------
|
|
99
|
+
event : object
|
|
100
|
+
The event object that was missed.
|
|
101
|
+
|
|
102
|
+
Returns
|
|
103
|
+
-------
|
|
104
|
+
None
|
|
105
|
+
This method does not return anything.
|
|
106
|
+
|
|
107
|
+
Notes
|
|
108
|
+
-----
|
|
109
|
+
Override this method to define actions when an event is missed.
|
|
110
|
+
"""
|
|
111
|
+
pass
|
|
112
|
+
|
|
113
|
+
@abstractmethod
|
|
114
|
+
def onMaxInstances(self, event):
|
|
115
|
+
"""
|
|
116
|
+
Handles the event triggered when the maximum number of instances is reached.
|
|
117
|
+
|
|
118
|
+
Parameters
|
|
119
|
+
----------
|
|
120
|
+
event : object
|
|
121
|
+
The event object containing information about the max instances event.
|
|
122
|
+
|
|
123
|
+
Returns
|
|
124
|
+
-------
|
|
125
|
+
None
|
|
126
|
+
This method does not return anything.
|
|
127
|
+
|
|
128
|
+
Notes
|
|
129
|
+
-----
|
|
130
|
+
Override this method to define actions when the maximum number of instances is reached.
|
|
131
|
+
"""
|
|
132
|
+
pass
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import argparse
|
|
2
2
|
import os
|
|
3
3
|
import re
|
|
4
|
-
from pathlib import Path
|
|
5
4
|
from typing import Any, List, Optional
|
|
6
5
|
from orionis.console.args.argument import CLIArgument
|
|
7
6
|
from orionis.console.base.command import BaseCommand
|
|
@@ -9,8 +8,10 @@ from orionis.console.base.contracts.command import IBaseCommand
|
|
|
9
8
|
from orionis.console.contracts.reactor import IReactor
|
|
10
9
|
from orionis.console.enums.command import Command
|
|
11
10
|
from orionis.console.exceptions import CLIOrionisValueError
|
|
11
|
+
from orionis.console.exceptions.cli_runtime_error import CLIOrionisRuntimeError
|
|
12
12
|
from orionis.console.output.contracts.console import IConsole
|
|
13
13
|
from orionis.console.output.contracts.executor import IExecutor
|
|
14
|
+
from orionis.container.exceptions.exception import OrionisContainerException
|
|
14
15
|
from orionis.foundation.contracts.application import IApplication
|
|
15
16
|
from orionis.services.introspection.modules.reflection import ReflectionModule
|
|
16
17
|
from orionis.services.log.contracts.log_service import ILogger
|
|
@@ -58,13 +59,13 @@ class Reactor(IReactor):
|
|
|
58
59
|
self.__app = app
|
|
59
60
|
|
|
60
61
|
# Set the project root directory to current working directory for module path resolution
|
|
61
|
-
self.__root = self.__app.path('root')
|
|
62
|
+
self.__root = self.__app.path('root')
|
|
62
63
|
|
|
63
64
|
# Initialize the internal command registry as an empty dictionary
|
|
64
65
|
self.__commands: dict[str, Command] = {}
|
|
65
66
|
|
|
66
67
|
# Automatically discover and load command classes from the console commands directory
|
|
67
|
-
self.__loadCommands(
|
|
68
|
+
self.__loadCommands(self.__app.path('commands'), self.__root)
|
|
68
69
|
|
|
69
70
|
# Load core command classes provided by the Orionis framework
|
|
70
71
|
self.__loadCoreCommands()
|
|
@@ -581,8 +582,12 @@ class Reactor(IReactor):
|
|
|
581
582
|
return output
|
|
582
583
|
|
|
583
584
|
except Exception as e:
|
|
585
|
+
|
|
584
586
|
# Display the error message in the console (without timestamp)
|
|
585
|
-
|
|
587
|
+
if isinstance(e, OrionisContainerException):
|
|
588
|
+
pass
|
|
589
|
+
elif isinstance(e, CLIOrionisRuntimeError):
|
|
590
|
+
self.__console.error(f"An error occurred while executing command '{signature}': {e}", timestamp=False)
|
|
586
591
|
|
|
587
592
|
# Log the error in the logger service
|
|
588
593
|
self.__logger.error(f"Command '{signature}' execution failed: {e}")
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
from dataclasses import dataclass, field
|
|
2
|
+
from orionis.support.entities.base import BaseEntity
|
|
3
|
+
|
|
4
|
+
@dataclass(kw_only=True)
|
|
5
|
+
class CLIRequest(BaseEntity):
|
|
6
|
+
"""
|
|
7
|
+
Represents a command-line interface (CLI) request.
|
|
8
|
+
|
|
9
|
+
Parameters
|
|
10
|
+
----------
|
|
11
|
+
command : str
|
|
12
|
+
The command to be executed by the CLI.
|
|
13
|
+
args : list of str, optional
|
|
14
|
+
A list of arguments passed to the command. Defaults to an empty list.
|
|
15
|
+
|
|
16
|
+
Returns
|
|
17
|
+
-------
|
|
18
|
+
CLIRequest
|
|
19
|
+
An instance of the CLIRequest class encapsulating the command and its arguments.
|
|
20
|
+
|
|
21
|
+
Attributes
|
|
22
|
+
----------
|
|
23
|
+
command : str
|
|
24
|
+
The command to be executed.
|
|
25
|
+
args : list of str
|
|
26
|
+
The arguments associated with the command.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
# The command to execute
|
|
30
|
+
command: str
|
|
31
|
+
|
|
32
|
+
# Arguments for the command; defaults to an empty list if not provided
|
|
33
|
+
args: list[str] = field(
|
|
34
|
+
default_factory=list
|
|
35
|
+
)
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
from typing import List
|
|
1
3
|
from orionis.console.contracts.kernel import IKernelCLI
|
|
2
4
|
from orionis.console.contracts.reactor import IReactor
|
|
3
|
-
from orionis.console.
|
|
5
|
+
from orionis.console.entities.request import CLIRequest
|
|
6
|
+
from orionis.failure.contracts.catch import ICatch
|
|
4
7
|
from orionis.foundation.contracts.application import IApplication
|
|
5
8
|
from orionis.console.exceptions import CLIOrionisValueError
|
|
6
|
-
from orionis.services.log.contracts.log_service import ILogger
|
|
7
9
|
|
|
8
10
|
class KernelCLI(IKernelCLI):
|
|
9
11
|
|
|
@@ -40,13 +42,10 @@ class KernelCLI(IKernelCLI):
|
|
|
40
42
|
# The reactor is responsible for dispatching CLI commands.
|
|
41
43
|
self.__reactor: IReactor = app.make('x-orionis.console.core.reactor')
|
|
42
44
|
|
|
43
|
-
# Retrieve and initialize the
|
|
44
|
-
self.
|
|
45
|
+
# Retrieve and initialize the catch instance from the application container.
|
|
46
|
+
self.__catch: ICatch = app.make('x-orionis.failure.catch')
|
|
45
47
|
|
|
46
|
-
|
|
47
|
-
self.__logger: ILogger = app.make('x-orionis.services.log.log_service')
|
|
48
|
-
|
|
49
|
-
def handle(self, args: list) -> None:
|
|
48
|
+
def handle(self, args: List[str] = []) -> None:
|
|
50
49
|
"""
|
|
51
50
|
Processes and dispatches command line arguments to the appropriate command handler.
|
|
52
51
|
|
|
@@ -89,21 +88,23 @@ class KernelCLI(IKernelCLI):
|
|
|
89
88
|
if len(args) == 1:
|
|
90
89
|
return self.__reactor.call(args[0])
|
|
91
90
|
|
|
92
|
-
#
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
# Log the SystemExit exception for debugging purposes
|
|
98
|
-
self.__logger.error(f"SystemExit encountered: {str(e)}")
|
|
91
|
+
# Create a CLIRequest instance with the command and its arguments
|
|
92
|
+
command = CLIRequest(
|
|
93
|
+
command=args[0],
|
|
94
|
+
args=args[1:]
|
|
95
|
+
)
|
|
99
96
|
|
|
100
|
-
#
|
|
101
|
-
self.
|
|
97
|
+
# If command and arguments are provided, call the command with its arguments
|
|
98
|
+
return self.__reactor.call(
|
|
99
|
+
command.command,
|
|
100
|
+
command.args
|
|
101
|
+
)
|
|
102
102
|
|
|
103
|
-
except
|
|
103
|
+
except BaseException as e:
|
|
104
104
|
|
|
105
|
-
#
|
|
106
|
-
self.
|
|
105
|
+
# Catch any exceptions that occur during command handling
|
|
106
|
+
self.__catch.report(e)
|
|
107
|
+
self.__catch.renderCLI(args, e)
|
|
107
108
|
|
|
108
|
-
#
|
|
109
|
-
|
|
109
|
+
# Exit the process with a non-zero status code to indicate an error
|
|
110
|
+
sys.exit(1)
|
|
@@ -4,7 +4,6 @@ import os
|
|
|
4
4
|
import sys
|
|
5
5
|
from orionis.console.output.enums import ANSIColors
|
|
6
6
|
from orionis.console.output.contracts.console import IConsole
|
|
7
|
-
from orionis.support.formatter.serializer import Parser
|
|
8
7
|
|
|
9
8
|
class Console(IConsole):
|
|
10
9
|
"""
|
|
@@ -512,31 +511,13 @@ class Console(IConsole):
|
|
|
512
511
|
-----
|
|
513
512
|
This method prints the exception type, message, and a detailed stack trace.
|
|
514
513
|
"""
|
|
514
|
+
from rich.console import Console as RichConsole
|
|
515
|
+
from rich.traceback import Traceback
|
|
515
516
|
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
# Format the output with a more eye-catching appearance
|
|
522
|
-
message = f"{ANSIColors.BG_ERROR.value}{ANSIColors.TEXT_WHITE.value}[{error_type}]{ANSIColors.TEXT_RESET.value}: {ANSIColors.TEXT_WARNING.value}{error_message}{ANSIColors.TEXT_RESET.value}"
|
|
523
|
-
print("▬" * len(f" [{error_type}] : {error_message}"))
|
|
524
|
-
print(message)
|
|
525
|
-
|
|
526
|
-
real_count = len(stack_trace)
|
|
527
|
-
count_error = real_count
|
|
528
|
-
for frame in stack_trace:
|
|
529
|
-
filename = frame["filename"]
|
|
530
|
-
lineno = frame["lineno"]
|
|
531
|
-
name = frame["name"]
|
|
532
|
-
line = frame["line"]
|
|
533
|
-
|
|
534
|
-
# Print the stack trace with enhanced styling
|
|
535
|
-
print(f"{ANSIColors.TEXT_MUTED.value}Trace Call ({count_error}/{real_count}){ANSIColors.TEXT_RESET.value} - {ANSIColors.TEXT_WHITE.value}{filename}:{lineno}{ANSIColors.TEXT_RESET.value}")
|
|
536
|
-
print(f" {ANSIColors.DIM.value}{ANSIColors.ITALIC.value}{ANSIColors.TEXT_WARNING.value}{name}{ANSIColors.TEXT_RESET.value} : {ANSIColors.CYAN.value}{line}{ANSIColors.TEXT_RESET.value}")
|
|
537
|
-
count_error -= 1
|
|
538
|
-
|
|
539
|
-
print("▬" * len(f" [{error_type}] : {error_message}"))
|
|
517
|
+
rc = RichConsole()
|
|
518
|
+
rc.print("[bold red]❌ Exception caught in method[/]")
|
|
519
|
+
tb = Traceback.from_exception(type(e), e, e.__traceback__, max_frames=1)
|
|
520
|
+
rc.print(tb)
|
|
540
521
|
|
|
541
522
|
def exitSuccess(self, message: str = None) -> None:
|
|
542
523
|
"""
|
|
@@ -5,7 +5,7 @@ from apscheduler.triggers.cron import CronTrigger
|
|
|
5
5
|
from apscheduler.triggers.date import DateTrigger
|
|
6
6
|
from apscheduler.triggers.interval import IntervalTrigger
|
|
7
7
|
from orionis.console.contracts.event import IEvent
|
|
8
|
-
from orionis.console.contracts.
|
|
8
|
+
from orionis.console.contracts.listener import IEventListener
|
|
9
9
|
from orionis.console.enums.event import Event as EventEntity
|
|
10
10
|
from orionis.console.exceptions import CLIOrionisValueError
|
|
11
11
|
|