orionis 0.491.0__tar.gz → 0.493.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.491.0/orionis.egg-info → orionis-0.493.0}/PKG-INFO +1 -1
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/base/scheduler.py +2 -8
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/commands/scheduler_work.py +10 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/kernel.py +1 -2
- orionis-0.491.0/orionis/failure/catch.py → orionis-0.493.0/orionis/failure/base/handler.py +16 -76
- orionis-0.493.0/orionis/failure/catch.py +93 -0
- orionis-0.493.0/orionis/failure/contracts/catch.py +32 -0
- orionis-0.493.0/orionis/failure/contracts/handler.py +38 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/application.py +88 -3
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/contracts/application.py +63 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/metadata/framework.py +1 -1
- {orionis-0.491.0 → orionis-0.493.0/orionis.egg-info}/PKG-INFO +1 -1
- {orionis-0.491.0 → orionis-0.493.0}/orionis.egg-info/SOURCES.txt +3 -0
- orionis-0.493.0/tests/testing/view/__init__.py +0 -0
- orionis-0.491.0/orionis/failure/contracts/catch.py +0 -91
- {orionis-0.491.0 → orionis-0.493.0}/LICENCE +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/MANIFEST.in +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/README.md +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/app.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/args/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/args/argument.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/args/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/args/enums/actions.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/base/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/base/command.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/base/contracts/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/base/contracts/command.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/base/contracts/scheduler.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/commands/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/commands/cache.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/commands/help.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/commands/publisher.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/commands/scheduler_list.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/commands/test.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/commands/version.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/commands/workflow.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/contracts/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/contracts/event.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/contracts/kernel.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/contracts/listener.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/contracts/reactor.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/contracts/schedule.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/core/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/core/reactor.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/dumper/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/dumper/contracts/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/dumper/contracts/dump.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/dumper/dump.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/dynamic/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/dynamic/contracts/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/dynamic/contracts/progress_bar.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/dynamic/progress_bar.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/entities/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/entities/listeners.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/entities/request.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/enums/command.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/enums/event.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/exceptions/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/exceptions/cli_exception.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/exceptions/cli_orionis_value_error.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/exceptions/cli_runtime_error.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/exceptions/cli_schedule_exception.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/output/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/output/console.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/output/contracts/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/output/contracts/console.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/output/contracts/executor.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/output/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/output/enums/styles.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/output/executor.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/tasks/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/tasks/event.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/tasks/exception_report.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/tasks/listener.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/console/tasks/schedule.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/container.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/context/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/context/manager.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/context/scope.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/contracts/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/contracts/container.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/contracts/service_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/entities/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/entities/binding.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/enums/lifetimes.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/exceptions/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/exceptions/attribute.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/exceptions/exception.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/exceptions/type.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/exceptions/value.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/facades/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/facades/facade.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/providers/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/providers/service_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/validators/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/validators/implements.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/validators/is_abstract_class.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/validators/is_callable.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/validators/is_concrete_class.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/validators/is_instance.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/validators/is_not_subclass.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/validators/is_subclass.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/validators/is_valid_alias.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/container/validators/lifetime.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/failure/__init__.py +0 -0
- {orionis-0.491.0/orionis/failure/contracts → orionis-0.493.0/orionis/failure/base}/__init__.py +0 -0
- {orionis-0.491.0/orionis/failure/entities → orionis-0.493.0/orionis/failure/contracts}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation → orionis-0.493.0/orionis/failure/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/failure/entities/throwable.py +0 -0
- {orionis-0.491.0/orionis/foundation/config → orionis-0.493.0/orionis/foundation}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/app → orionis-0.493.0/orionis/foundation/config}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/app/entities → orionis-0.493.0/orionis/foundation/config/app}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/auth → orionis-0.493.0/orionis/foundation/config/app/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/app/entities/app.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/app/enums/environments.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/auth/entities → orionis-0.493.0/orionis/foundation/config/auth}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/cache → orionis-0.493.0/orionis/foundation/config/auth/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/cache/entities → orionis-0.493.0/orionis/foundation/config/cache}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/cors → orionis-0.493.0/orionis/foundation/config/cache/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/cache/entities/file.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/cors/entities → orionis-0.493.0/orionis/foundation/config/cors}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/database → orionis-0.493.0/orionis/foundation/config/cors/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/database/entities → orionis-0.493.0/orionis/foundation/config/database}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/filesystems → orionis-0.493.0/orionis/foundation/config/database/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/connections.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/database.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/filesystems/entitites → orionis-0.493.0/orionis/foundation/config/filesystems}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/logging → orionis-0.493.0/orionis/foundation/config/filesystems/entitites}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/logging/entities → orionis-0.493.0/orionis/foundation/config/logging}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/mail → orionis-0.493.0/orionis/foundation/config/logging/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/validators/level.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/logging/validators/path.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/mail/entities → orionis-0.493.0/orionis/foundation/config/mail}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/queue → orionis-0.493.0/orionis/foundation/config/mail/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/mail/entities/file.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/queue/entities → orionis-0.493.0/orionis/foundation/config/queue}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/roots → orionis-0.493.0/orionis/foundation/config/queue/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/queue/entities/database.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/session → orionis-0.493.0/orionis/foundation/config/roots}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/roots/paths.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/session/entities → orionis-0.493.0/orionis/foundation/config/session}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/session/helpers → orionis-0.493.0/orionis/foundation/config/session/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/session/entities/session.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/testing → orionis-0.493.0/orionis/foundation/config/session/helpers}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/startup.py +0 -0
- {orionis-0.491.0/orionis/foundation/config/testing/entities → orionis-0.493.0/orionis/foundation/config/testing}/__init__.py +0 -0
- {orionis-0.491.0/orionis/foundation/contracts → orionis-0.493.0/orionis/foundation/config/testing/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
- {orionis-0.491.0/orionis/foundation/providers → orionis-0.493.0/orionis/foundation/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/contracts/config.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/exceptions/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/exceptions/integrity.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/exceptions/runtime.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/exceptions/type.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/exceptions/value.py +0 -0
- {orionis-0.491.0/orionis/metadata → orionis-0.493.0/orionis/foundation/providers}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/providers/catch_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/providers/console_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/providers/dumper_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/providers/executor_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/providers/logger_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/providers/reactor_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/providers/testing_provider.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/foundation/providers/workers_provider.py +0 -0
- {orionis-0.491.0/orionis/services → orionis-0.493.0/orionis/metadata}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/metadata/package.py +0 -0
- {orionis-0.491.0/orionis/services/asynchrony → orionis-0.493.0/orionis/services}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/asynchrony/contracts → orionis-0.493.0/orionis/services/asynchrony}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/environment → orionis-0.493.0/orionis/services/asynchrony/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/asynchrony/coroutines.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/asynchrony/exceptions/exception.py +0 -0
- {orionis-0.491.0/orionis/services/environment/contracts → orionis-0.493.0/orionis/services/environment}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/environment/core → orionis-0.493.0/orionis/services/environment/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/contracts/caster.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/contracts/env.py +0 -0
- {orionis-0.491.0/orionis/services/environment/dynamic → orionis-0.493.0/orionis/services/environment/core}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/core/dot_env.py +0 -0
- {orionis-0.491.0/orionis/services/environment/helpers → orionis-0.493.0/orionis/services/environment/dynamic}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/dynamic/caster.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/enums/value_type.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/env.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/exceptions/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/exceptions/exception.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/exceptions/value.py +0 -0
- {orionis-0.491.0/orionis/services/environment/key → orionis-0.493.0/orionis/services/environment/helpers}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/helpers/functions.py +0 -0
- {orionis-0.491.0/orionis/services/file → orionis-0.493.0/orionis/services/environment/key}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/key/key_generator.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/validators/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/validators/key_name.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/environment/validators/types.py +0 -0
- {orionis-0.491.0/orionis/services/inspirational → orionis-0.493.0/orionis/services/file}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/file/directory.py +0 -0
- {orionis-0.491.0/orionis/services/inspirational/contracts → orionis-0.493.0/orionis/services/inspirational}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/introspection → orionis-0.493.0/orionis/services/inspirational/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/inspirational/inspire.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/inspirational/quotes.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/abstract → orionis-0.493.0/orionis/services/introspection}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/abstract/contracts → orionis-0.493.0/orionis/services/introspection/abstract}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/callables → orionis-0.493.0/orionis/services/introspection/abstract/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/abstract/reflection.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/callables/contracts → orionis-0.493.0/orionis/services/introspection/callables}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/concretes → orionis-0.493.0/orionis/services/introspection/callables/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/callables/reflection.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/concretes/contracts → orionis-0.493.0/orionis/services/introspection/concretes}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/dependencies → orionis-0.493.0/orionis/services/introspection/concretes/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/concretes/reflection.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/dependencies/contracts → orionis-0.493.0/orionis/services/introspection/dependencies}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/dependencies/entities → orionis-0.493.0/orionis/services/introspection/dependencies/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/instances → orionis-0.493.0/orionis/services/introspection/dependencies/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/exceptions/attribute.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/exceptions/type.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/exceptions/value.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/instances/contracts → orionis-0.493.0/orionis/services/introspection/instances}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/modules → orionis-0.493.0/orionis/services/introspection/instances/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/instances/reflection.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/modules/contracts → orionis-0.493.0/orionis/services/introspection/modules}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/introspection/objects → orionis-0.493.0/orionis/services/introspection/modules/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/modules/reflection.py +0 -0
- {orionis-0.491.0/orionis/services/log → orionis-0.493.0/orionis/services/introspection/objects}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/objects/types.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/introspection/reflection.py +0 -0
- {orionis-0.491.0/orionis/services/log/contracts → orionis-0.493.0/orionis/services/log}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/log/handlers → orionis-0.493.0/orionis/services/log/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/log/contracts/log_service.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/log/exceptions/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/log/exceptions/runtime.py +0 -0
- {orionis-0.491.0/orionis/services/system → orionis-0.493.0/orionis/services/log/handlers}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/log/handlers/filename.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/log/handlers/size_rotating.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/log/log_service.py +0 -0
- {orionis-0.491.0/orionis/services/system/contracts → orionis-0.493.0/orionis/services/system}/__init__.py +0 -0
- {orionis-0.491.0/orionis/services/system/runtime → orionis-0.493.0/orionis/services/system/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/system/contracts/imports.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/system/contracts/workers.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/system/imports.py +0 -0
- {orionis-0.491.0/orionis/support → orionis-0.493.0/orionis/services/system/runtime}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/system/runtime/imports.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/services/system/workers.py +0 -0
- {orionis-0.491.0/orionis/support/entities → orionis-0.493.0/orionis/support}/__init__.py +0 -0
- {orionis-0.491.0/orionis/support/facades → orionis-0.493.0/orionis/support/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/entities/base.py +0 -0
- {orionis-0.491.0/orionis/support/formatter → orionis-0.493.0/orionis/support/facades}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/facades/application.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/facades/console.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/facades/dumper.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/facades/executor.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/facades/inspire.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/facades/logger.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/facades/performance_counter.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/facades/progress_bar.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/facades/reactor.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/facades/testing.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/facades/workers.py +0 -0
- {orionis-0.491.0/orionis/support/formatter/exceptions → orionis-0.493.0/orionis/support/formatter}/__init__.py +0 -0
- {orionis-0.491.0/orionis/support/formatter/exceptions/contracts → orionis-0.493.0/orionis/support/formatter/exceptions}/__init__.py +0 -0
- {orionis-0.491.0/orionis/support/patterns → orionis-0.493.0/orionis/support/formatter/exceptions/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/formatter/exceptions/parser.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/formatter/serializer.py +0 -0
- {orionis-0.491.0/orionis/support/performance → orionis-0.493.0/orionis/support/patterns}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/patterns/singleton/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/patterns/singleton/meta.py +0 -0
- {orionis-0.491.0/orionis/support/performance/contracts → orionis-0.493.0/orionis/support/performance}/__init__.py +0 -0
- {orionis-0.491.0/orionis/support/standard → orionis-0.493.0/orionis/support/performance/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/performance/contracts/counter.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/performance/counter.py +0 -0
- {orionis-0.491.0/orionis/support/standard/contracts → orionis-0.493.0/orionis/support/standard}/__init__.py +0 -0
- {orionis-0.491.0/orionis/test → orionis-0.493.0/orionis/support/standard/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/standard/contracts/std.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/standard/exceptions/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/standard/exceptions/value.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/standard/std.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/wrapper/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/support/wrapper/dot_dict.py +0 -0
- {orionis-0.491.0/orionis/test/cases → orionis-0.493.0/orionis/test}/__init__.py +0 -0
- {orionis-0.491.0/orionis/test/contracts → orionis-0.493.0/orionis/test/cases}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/cases/asynchronous.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/cases/synchronous.py +0 -0
- {orionis-0.491.0/orionis/test/core → orionis-0.493.0/orionis/test/contracts}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/contracts/dumper.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/contracts/kernel.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/contracts/logs.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/contracts/printer.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/contracts/render.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/contracts/test_result.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/contracts/unit_test.py +0 -0
- {orionis-0.491.0/orionis/test/entities → orionis-0.493.0/orionis/test/core}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/core/unit_test.py +0 -0
- {orionis-0.491.0/orionis/test/output → orionis-0.493.0/orionis/test/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/entities/result.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/enums/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/enums/status.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/exceptions/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/exceptions/config.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/exceptions/failure.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/exceptions/persistence.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/exceptions/runtime.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/exceptions/value.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/kernel.py +0 -0
- {orionis-0.491.0/orionis/test/records → orionis-0.493.0/orionis/test/output}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/output/dumper.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/output/printer.py +0 -0
- {orionis-0.491.0/orionis/test/view → orionis-0.493.0/orionis/test/records}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/records/logs.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/base_path.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/execution_mode.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/fail_fast.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/folder_path.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/module_name.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/name_pattern.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/pattern.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/persistent.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/persistent_driver.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/print_result.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/tags.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/throw_exception.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/verbosity.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/web_report.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/validators/workers.py +0 -0
- {orionis-0.491.0/tests → orionis-0.493.0/orionis/test/view}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis/test/view/render.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis.egg-info/dependency_links.txt +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis.egg-info/requires.txt +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis.egg-info/top_level.txt +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/orionis.egg-info/zip-safe +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/setup.cfg +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/setup.py +0 -0
- {orionis-0.491.0/tests/container → orionis-0.493.0/tests}/__init__.py +0 -0
- {orionis-0.491.0/tests/container/context → orionis-0.493.0/tests/container}/__init__.py +0 -0
- {orionis-0.491.0/tests/container/core → orionis-0.493.0/tests/container/context}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/context/test_manager.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/context/test_scope.py +0 -0
- {orionis-0.491.0/tests/container/entities → orionis-0.493.0/tests/container/core}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/core/test_advanced_async.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/core/test_async_optimizations.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/core/test_container.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/core/test_singleton.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/core/test_thread_safety.py +0 -0
- {orionis-0.491.0/tests/container/enums → orionis-0.493.0/tests/container/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/entities/test_binding.py +0 -0
- {orionis-0.491.0/tests/container/facades → orionis-0.493.0/tests/container/enums}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/enums/test_lifetimes.py +0 -0
- {orionis-0.491.0/tests/container/mocks → orionis-0.493.0/tests/container/facades}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/facades/test_facade.py +0 -0
- {orionis-0.491.0/tests/container/providers → orionis-0.493.0/tests/container/mocks}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/mocks/mock_advanced_async.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/mocks/mock_async_optimizations.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/mocks/mock_auto_resolution.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/mocks/mock_complex_classes.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/mocks/mock_simple_classes.py +0 -0
- {orionis-0.491.0/tests/container/validators → orionis-0.493.0/tests/container/providers}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/providers/test_providers.py +0 -0
- {orionis-0.491.0/tests/example → orionis-0.493.0/tests/container/validators}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/validators/test_implements.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/validators/test_is_abstract_class.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/validators/test_is_callable.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/validators/test_is_concrete_class.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/validators/test_is_instance.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/validators/test_is_not_subclass.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/validators/test_is_subclass.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/validators/test_is_valid_alias.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/container/validators/test_lifetime.py +0 -0
- {orionis-0.491.0/tests/foundation → orionis-0.493.0/tests/example}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/example/test_example.py +0 -0
- {orionis-0.491.0/tests/foundation/config → orionis-0.493.0/tests/foundation}/__init__.py +0 -0
- {orionis-0.491.0/tests/foundation/config/app → orionis-0.493.0/tests/foundation/config}/__init__.py +0 -0
- {orionis-0.491.0/tests/foundation/config/auth → orionis-0.493.0/tests/foundation/config/app}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
- {orionis-0.491.0/tests/foundation/config/cache → orionis-0.493.0/tests/foundation/config/auth}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
- {orionis-0.491.0/tests/foundation/config/cors → orionis-0.493.0/tests/foundation/config/cache}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
- {orionis-0.491.0/tests/foundation/config/database → orionis-0.493.0/tests/foundation/config/cors}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
- {orionis-0.491.0/tests/foundation/config/filesystems → orionis-0.493.0/tests/foundation/config/database}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
- {orionis-0.491.0/tests/foundation/config/logging → orionis-0.493.0/tests/foundation/config/filesystems}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
- {orionis-0.491.0/tests/foundation/config/mail → orionis-0.493.0/tests/foundation/config/logging}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
- {orionis-0.491.0/tests/foundation/config/queue → orionis-0.493.0/tests/foundation/config/mail}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
- {orionis-0.491.0/tests/foundation/config/root → orionis-0.493.0/tests/foundation/config/queue}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
- {orionis-0.491.0/tests/foundation/config/session → orionis-0.493.0/tests/foundation/config/root}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
- {orionis-0.491.0/tests/foundation/config/startup → orionis-0.493.0/tests/foundation/config/session}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
- {orionis-0.491.0/tests/foundation/config/testing → orionis-0.493.0/tests/foundation/config/startup}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
- {orionis-0.491.0/tests/metadata → orionis-0.493.0/tests/foundation/config/testing}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
- {orionis-0.491.0/tests/services → orionis-0.493.0/tests/metadata}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/metadata/test_metadata_framework.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/metadata/test_metadata_package.py +0 -0
- {orionis-0.491.0/tests/services/asynchrony → orionis-0.493.0/tests/services}/__init__.py +0 -0
- {orionis-0.491.0/tests/services/environment → orionis-0.493.0/tests/services/asynchrony}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
- {orionis-0.491.0/tests/services/introspection → orionis-0.493.0/tests/services/environment}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/environment/test_services_environment.py +0 -0
- {orionis-0.491.0/tests/services/introspection/dependencies → orionis-0.493.0/tests/services/introspection}/__init__.py +0 -0
- {orionis-0.491.0/tests/services/introspection/dependencies/mocks → orionis-0.493.0/tests/services/introspection/dependencies}/__init__.py +0 -0
- {orionis-0.491.0/tests/services/introspection/reflection → orionis-0.493.0/tests/services/introspection/dependencies/mocks}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/introspection/dependencies/mocks/mock_user.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/introspection/dependencies/mocks/mock_user_controller.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/introspection/dependencies/mocks/mock_users_permissions.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/introspection/dependencies/test_reflect_dependencies.py +0 -0
- {orionis-0.491.0/tests/services/introspection/reflection/mock → orionis-0.493.0/tests/services/introspection/reflection}/__init__.py +0 -0
- {orionis-0.491.0/tests/services/log → orionis-0.493.0/tests/services/introspection/reflection/mock}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/introspection/reflection/mock/fake_reflect_instance.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/introspection/reflection/test_reflection_abstract.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/introspection/reflection/test_reflection_callable.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/introspection/reflection/test_reflection_concrete.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/introspection/reflection/test_reflection_instance.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/introspection/reflection/test_reflection_module.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/introspection/test_reflection.py +0 -0
- {orionis-0.491.0/tests/services/system → orionis-0.493.0/tests/services/log}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/log/test_log.py +0 -0
- {orionis-0.491.0/tests/support → orionis-0.493.0/tests/services/system}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/system/test_services_system_imports.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/services/system/test_services_system_workers.py +0 -0
- {orionis-0.491.0/tests/support/entities → orionis-0.493.0/tests/support}/__init__.py +0 -0
- {orionis-0.491.0/tests/support/patterns → orionis-0.493.0/tests/support/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/support/entities/mock_dataclass.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/support/entities/test_base.py +0 -0
- {orionis-0.491.0/tests/support/patterns/singleton → orionis-0.493.0/tests/support/patterns}/__init__.py +0 -0
- {orionis-0.491.0/tests/support/standard → orionis-0.493.0/tests/support/patterns/singleton}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/support/patterns/singleton/test_patterns_singleton.py +0 -0
- {orionis-0.491.0/tests/support/wrapper → orionis-0.493.0/tests/support/standard}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/support/standard/test_services_std.py +0 -0
- {orionis-0.491.0/tests/testing → orionis-0.493.0/tests/support/wrapper}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
- {orionis-0.491.0/tests/testing/cases → orionis-0.493.0/tests/testing}/__init__.py +0 -0
- {orionis-0.491.0/tests/testing/entities → orionis-0.493.0/tests/testing/cases}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/testing/cases/test_testing_asynchronous.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/testing/cases/test_testing_synchronous.py +0 -0
- {orionis-0.491.0/tests/testing/enums → orionis-0.493.0/tests/testing/entities}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/testing/entities/test_testing_result.py +0 -0
- {orionis-0.491.0/tests/testing/output → orionis-0.493.0/tests/testing/enums}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/testing/enums/test_testing_status.py +0 -0
- {orionis-0.491.0/tests/testing/records → orionis-0.493.0/tests/testing/output}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/testing/output/test_testing_dumper.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/testing/output/test_testing_printer.py +0 -0
- {orionis-0.491.0/tests/testing/validators → orionis-0.493.0/tests/testing/records}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/testing/records/test_testing_records.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/testing/test_testing_unit.py +0 -0
- {orionis-0.491.0/tests/testing/view → orionis-0.493.0/tests/testing/validators}/__init__.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/testing/validators/test_testing_validators.py +0 -0
- {orionis-0.491.0 → orionis-0.493.0}/tests/testing/view/test_render.py +0 -0
|
@@ -27,15 +27,9 @@ class BaseScheduler(IBaseScheduler):
|
|
|
27
27
|
None
|
|
28
28
|
This method does not return any value. It is intended to be overridden
|
|
29
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
30
|
"""
|
|
37
|
-
#
|
|
38
|
-
|
|
31
|
+
# Placeholder for task registration logic
|
|
32
|
+
pass
|
|
39
33
|
|
|
40
34
|
def onStarted(self):
|
|
41
35
|
"""
|
|
@@ -82,6 +82,16 @@ class ScheduleWorkCommand(BaseCommand):
|
|
|
82
82
|
# Register scheduled tasks using the Scheduler's tasks method
|
|
83
83
|
Scheduler.tasks(schedule_serice)
|
|
84
84
|
|
|
85
|
+
# Retrieve the list of scheduled jobs/events
|
|
86
|
+
list_tasks = schedule_serice.events()
|
|
87
|
+
|
|
88
|
+
# Display a message if no scheduled jobs are found
|
|
89
|
+
if not list_tasks:
|
|
90
|
+
console.line()
|
|
91
|
+
console.print(Panel("No scheduled jobs found.", border_style="green"))
|
|
92
|
+
console.line()
|
|
93
|
+
return True
|
|
94
|
+
|
|
85
95
|
# Display a start message for the scheduler worker
|
|
86
96
|
console.line()
|
|
87
97
|
start_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
|
@@ -103,8 +103,7 @@ class KernelCLI(IKernelCLI):
|
|
|
103
103
|
except BaseException as e:
|
|
104
104
|
|
|
105
105
|
# Catch any exceptions that occur during command handling
|
|
106
|
-
self.__catch.
|
|
107
|
-
self.__catch.renderCLI(args, e)
|
|
106
|
+
self.__catch.exception(self, args, e)
|
|
108
107
|
|
|
109
108
|
# Exit the process with a non-zero status code to indicate an error
|
|
110
109
|
sys.exit(1)
|
|
@@ -1,51 +1,17 @@
|
|
|
1
1
|
from typing import Any, List
|
|
2
2
|
from orionis.console.output.contracts.console import IConsole
|
|
3
|
-
from orionis.failure.contracts.
|
|
3
|
+
from orionis.failure.contracts.handler import IBaseExceptionHandler
|
|
4
4
|
from orionis.failure.entities.throwable import Throwable
|
|
5
|
-
from orionis.foundation.contracts.application import IApplication
|
|
6
5
|
from orionis.services.log.contracts.log_service import ILogger
|
|
7
6
|
|
|
8
|
-
class
|
|
7
|
+
class BaseExceptionHandler(IBaseExceptionHandler):
|
|
9
8
|
|
|
10
9
|
# Exceptions that should not be caught by the handler
|
|
11
10
|
dont_cathc: List[type[BaseException]] = [
|
|
12
|
-
|
|
11
|
+
# Add specific exceptions that should not be caught
|
|
12
|
+
# Example: OrionisContainerException
|
|
13
13
|
]
|
|
14
14
|
|
|
15
|
-
def __init__(self, app: IApplication) -> None:
|
|
16
|
-
"""
|
|
17
|
-
Initializes the Catch handler with application services for console output and logging.
|
|
18
|
-
|
|
19
|
-
Parameters
|
|
20
|
-
----------
|
|
21
|
-
app : IApplication
|
|
22
|
-
The application instance used to resolve required services.
|
|
23
|
-
|
|
24
|
-
Attributes
|
|
25
|
-
----------
|
|
26
|
-
console : IConsole
|
|
27
|
-
Console output service obtained from the application for displaying messages and exceptions.
|
|
28
|
-
logger : ILogger
|
|
29
|
-
Logger service obtained from the application for logging errors and exceptions.
|
|
30
|
-
|
|
31
|
-
Returns
|
|
32
|
-
-------
|
|
33
|
-
None
|
|
34
|
-
This constructor does not return any value.
|
|
35
|
-
|
|
36
|
-
Notes
|
|
37
|
-
-----
|
|
38
|
-
The constructor retrieves the console and logger services from the application container
|
|
39
|
-
using their respective service keys. These services are used throughout the class for
|
|
40
|
-
error reporting and output.
|
|
41
|
-
"""
|
|
42
|
-
|
|
43
|
-
# Retrieve the console output service from the application container
|
|
44
|
-
self.console: IConsole = app.make('x-orionis.console.output.console')
|
|
45
|
-
|
|
46
|
-
# Retrieve the logger service from the application container
|
|
47
|
-
self.logger: ILogger = app.make('x-orionis.services.log.log_service')
|
|
48
|
-
|
|
49
15
|
def destructureException(self, e: BaseException) -> Throwable:
|
|
50
16
|
"""
|
|
51
17
|
Converts an exception into a structured `Throwable` object containing detailed information.
|
|
@@ -74,31 +40,19 @@ class Catch(ICatch):
|
|
|
74
40
|
traceback=getattr(e, '__traceback__', None) # The traceback object, if available
|
|
75
41
|
)
|
|
76
42
|
|
|
77
|
-
def report(self, exception: BaseException) -> Any:
|
|
43
|
+
def report (self, exception: BaseException, log: ILogger) -> Any:
|
|
78
44
|
"""
|
|
79
|
-
|
|
45
|
+
Report or log an exception.
|
|
80
46
|
|
|
81
47
|
Parameters
|
|
82
48
|
----------
|
|
83
49
|
exception : BaseException
|
|
84
|
-
The exception instance
|
|
50
|
+
The exception instance that was caught.
|
|
85
51
|
|
|
86
52
|
Returns
|
|
87
53
|
-------
|
|
88
|
-
|
|
89
|
-
A destructured representation of the exception, containing its type, message, arguments, and traceback.
|
|
90
|
-
|
|
91
|
-
Raises
|
|
92
|
-
------
|
|
93
|
-
TypeError
|
|
94
|
-
If the provided exception is not an instance of BaseException.
|
|
95
|
-
|
|
96
|
-
Notes
|
|
97
|
-
-----
|
|
98
|
-
This method logs the exception details using the configured logger and returns a structured
|
|
99
|
-
representation of the exception for further processing.
|
|
54
|
+
None
|
|
100
55
|
"""
|
|
101
|
-
|
|
102
56
|
# Ensure the provided object is an exception
|
|
103
57
|
if not isinstance(exception, BaseException):
|
|
104
58
|
raise TypeError(f"Expected BaseException, got {type(exception).__name__}")
|
|
@@ -111,38 +65,24 @@ class Catch(ICatch):
|
|
|
111
65
|
return
|
|
112
66
|
|
|
113
67
|
# Log the exception details
|
|
114
|
-
|
|
68
|
+
log.error(f"[{throwable.classtype.__name__}] {throwable.message}")
|
|
115
69
|
|
|
116
70
|
# Return the structured exception
|
|
117
71
|
return throwable
|
|
118
72
|
|
|
119
|
-
def renderCLI(self, args: List[str], exception: BaseException) -> Any:
|
|
73
|
+
def renderCLI(self, args: List[str], exception: BaseException, log: ILogger, console: IConsole) -> Any:
|
|
120
74
|
"""
|
|
121
|
-
|
|
75
|
+
Render the exception message for CLI output.
|
|
122
76
|
|
|
123
77
|
Parameters
|
|
124
78
|
----------
|
|
125
|
-
args : list
|
|
126
|
-
The list of command-line arguments that were passed to the CLI.
|
|
127
79
|
exception : BaseException
|
|
128
|
-
The exception instance
|
|
80
|
+
The exception instance that was caught.
|
|
129
81
|
|
|
130
82
|
Returns
|
|
131
83
|
-------
|
|
132
84
|
None
|
|
133
|
-
This method does not return any value.
|
|
134
|
-
|
|
135
|
-
Raises
|
|
136
|
-
------
|
|
137
|
-
TypeError
|
|
138
|
-
If the provided exception is not an instance of BaseException.
|
|
139
|
-
|
|
140
|
-
Notes
|
|
141
|
-
-----
|
|
142
|
-
This method logs the error message using the configured logger and outputs
|
|
143
|
-
the exception traceback to the console for user visibility.
|
|
144
85
|
"""
|
|
145
|
-
|
|
146
86
|
# Ensure the provided object is an exception
|
|
147
87
|
if not isinstance(exception, BaseException):
|
|
148
88
|
raise TypeError(f"Expected BaseException, got {type(exception).__name__}")
|
|
@@ -155,9 +95,9 @@ class Catch(ICatch):
|
|
|
155
95
|
return
|
|
156
96
|
|
|
157
97
|
# Log the CLI error message with arguments
|
|
158
|
-
|
|
98
|
+
log.error(f"CLI Error: {throwable.message} (Args: {args})")
|
|
159
99
|
|
|
160
100
|
# Output the exception traceback to the console
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
101
|
+
console.newLine()
|
|
102
|
+
console.exception(exception)
|
|
103
|
+
console.newLine()
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
from typing import Any, List
|
|
2
|
+
from orionis.console.kernel import KernelCLI
|
|
3
|
+
from orionis.console.output.contracts.console import IConsole
|
|
4
|
+
from orionis.failure.contracts.catch import ICatch
|
|
5
|
+
from orionis.failure.contracts.handler import IBaseExceptionHandler
|
|
6
|
+
from orionis.foundation.contracts.application import IApplication
|
|
7
|
+
from orionis.services.log.contracts.log_service import ILogger
|
|
8
|
+
|
|
9
|
+
class Catch(ICatch):
|
|
10
|
+
|
|
11
|
+
# Exceptions that should not be caught by the handler
|
|
12
|
+
dont_cathc: List[type[BaseException]] = [
|
|
13
|
+
#...
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
def __init__(self, app: IApplication) -> None:
|
|
17
|
+
"""
|
|
18
|
+
Initializes the Catch handler with application services for console output and logging.
|
|
19
|
+
|
|
20
|
+
Parameters
|
|
21
|
+
----------
|
|
22
|
+
app : IApplication
|
|
23
|
+
The application instance used to resolve required services.
|
|
24
|
+
|
|
25
|
+
Attributes
|
|
26
|
+
----------
|
|
27
|
+
console : IConsole
|
|
28
|
+
Console output service obtained from the application for displaying messages and exceptions.
|
|
29
|
+
logger : ILogger
|
|
30
|
+
Logger service obtained from the application for logging errors and exceptions.
|
|
31
|
+
|
|
32
|
+
Returns
|
|
33
|
+
-------
|
|
34
|
+
None
|
|
35
|
+
This constructor does not return any value.
|
|
36
|
+
|
|
37
|
+
Notes
|
|
38
|
+
-----
|
|
39
|
+
The constructor retrieves the console and logger services from the application container
|
|
40
|
+
using their respective service keys. These services are used throughout the class for
|
|
41
|
+
error reporting and output.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
# Retrieve the console output service from the application container
|
|
45
|
+
self.__console: IConsole = app.make('x-orionis.console.output.console')
|
|
46
|
+
|
|
47
|
+
# Retrieve the logger service from the application container
|
|
48
|
+
self.__logger: ILogger = app.make('x-orionis.services.log.log_service')
|
|
49
|
+
|
|
50
|
+
# Retrieve the console output service from the application container
|
|
51
|
+
self.__exception_handler: IBaseExceptionHandler = app.getExceptionHandler()
|
|
52
|
+
|
|
53
|
+
def exception(self, kernel: Any, request: Any, e: BaseException) -> None:
|
|
54
|
+
"""
|
|
55
|
+
Handles and reports exceptions that occur during CLI execution.
|
|
56
|
+
|
|
57
|
+
This method reports the provided exception using the application's exception handler and logger.
|
|
58
|
+
If a kernel instance is provided, it also renders the exception details to the CLI for user visibility.
|
|
59
|
+
|
|
60
|
+
Parameters
|
|
61
|
+
----------
|
|
62
|
+
kernel : Any
|
|
63
|
+
The kernel instance associated with the CLI, or None if not available.
|
|
64
|
+
request : Any
|
|
65
|
+
The request or arguments associated with the CLI command.
|
|
66
|
+
e : BaseException
|
|
67
|
+
The exception instance to be handled.
|
|
68
|
+
|
|
69
|
+
Returns
|
|
70
|
+
-------
|
|
71
|
+
None
|
|
72
|
+
This method does not return any value. It performs side effects such as logging and output.
|
|
73
|
+
|
|
74
|
+
Notes
|
|
75
|
+
-----
|
|
76
|
+
The exception is always reported using the exception handler and logger.
|
|
77
|
+
If a valid kernel is provided, the exception details are rendered to the CLI.
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
# Report the exception using the application's exception handler and logger
|
|
81
|
+
self.__exception_handler.report(
|
|
82
|
+
exception=e,
|
|
83
|
+
log=self.__logger
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
# If a kernel is provided, render the exception details to the CLI
|
|
87
|
+
if isinstance(kernel, KernelCLI):
|
|
88
|
+
return self.__exception_handler.renderCLI(
|
|
89
|
+
args=request,
|
|
90
|
+
exception=e,
|
|
91
|
+
log=self.__logger,
|
|
92
|
+
console=self.__console
|
|
93
|
+
)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
from typing import Any
|
|
3
|
+
|
|
4
|
+
class ICatch(ABC):
|
|
5
|
+
|
|
6
|
+
@abstractmethod
|
|
7
|
+
def exception(self, kernel: Any, request: Any, e: BaseException) -> None:
|
|
8
|
+
"""
|
|
9
|
+
Handles and reports exceptions that occur during CLI execution.
|
|
10
|
+
|
|
11
|
+
This method reports the provided exception using the application's exception handler and logger.
|
|
12
|
+
If a kernel instance is provided, it also renders the exception details to the CLI for user visibility.
|
|
13
|
+
|
|
14
|
+
Parameters
|
|
15
|
+
----------
|
|
16
|
+
kernel : Any
|
|
17
|
+
The kernel instance associated with the CLI, or None if not available.
|
|
18
|
+
request : Any
|
|
19
|
+
The request or arguments associated with the CLI command.
|
|
20
|
+
e : BaseException
|
|
21
|
+
The exception instance to be handled.
|
|
22
|
+
|
|
23
|
+
Returns
|
|
24
|
+
-------
|
|
25
|
+
None
|
|
26
|
+
This method does not return any value. It performs side effects such as logging and output.
|
|
27
|
+
|
|
28
|
+
Notes
|
|
29
|
+
-----
|
|
30
|
+
The exception is always reported using the exception handler and logger.
|
|
31
|
+
If a valid kernel is provided, the exception details are rendered to the CLI.
|
|
32
|
+
"""
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from abc import abstractmethod
|
|
2
|
+
from typing import Any, List
|
|
3
|
+
from orionis.console.output.contracts.console import IConsole
|
|
4
|
+
from orionis.services.log.contracts.log_service import ILogger
|
|
5
|
+
|
|
6
|
+
class IBaseExceptionHandler:
|
|
7
|
+
|
|
8
|
+
@abstractmethod
|
|
9
|
+
def report (self, exception: BaseException, log: ILogger) -> Any:
|
|
10
|
+
"""
|
|
11
|
+
Report or log an exception.
|
|
12
|
+
|
|
13
|
+
Parameters
|
|
14
|
+
----------
|
|
15
|
+
exception : BaseException
|
|
16
|
+
The exception instance that was caught.
|
|
17
|
+
|
|
18
|
+
Returns
|
|
19
|
+
-------
|
|
20
|
+
None
|
|
21
|
+
"""
|
|
22
|
+
pass
|
|
23
|
+
|
|
24
|
+
@abstractmethod
|
|
25
|
+
def renderCLI(self, args: List[str], exception: BaseException, log: ILogger, console: IConsole) -> Any:
|
|
26
|
+
"""
|
|
27
|
+
Render the exception message for CLI output.
|
|
28
|
+
|
|
29
|
+
Parameters
|
|
30
|
+
----------
|
|
31
|
+
exception : BaseException
|
|
32
|
+
The exception instance that was caught.
|
|
33
|
+
|
|
34
|
+
Returns
|
|
35
|
+
-------
|
|
36
|
+
None
|
|
37
|
+
"""
|
|
38
|
+
pass
|
|
@@ -2,9 +2,12 @@ import asyncio
|
|
|
2
2
|
import time
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
from typing import Any, List, Type
|
|
5
|
+
from orionis.console.base.contracts.scheduler import IBaseScheduler
|
|
5
6
|
from orionis.console.base.scheduler import BaseScheduler
|
|
6
7
|
from orionis.container.container import Container
|
|
7
8
|
from orionis.container.contracts.service_provider import IServiceProvider
|
|
9
|
+
from orionis.failure.base.handler import BaseExceptionHandler
|
|
10
|
+
from orionis.failure.contracts.handler import IBaseExceptionHandler
|
|
8
11
|
from orionis.foundation.config.app.entities.app import App
|
|
9
12
|
from orionis.foundation.config.auth.entities.auth import Auth
|
|
10
13
|
from orionis.foundation.config.cache.entities.cache import Cache
|
|
@@ -117,6 +120,9 @@ class Application(Container, IApplication):
|
|
|
117
120
|
# Property to store the scheduler instance
|
|
118
121
|
self.__scheduler: BaseScheduler = None
|
|
119
122
|
|
|
123
|
+
# Property to store the exception handler class
|
|
124
|
+
self.__exception_handler: Type[BaseExceptionHandler] = None
|
|
125
|
+
|
|
120
126
|
# Flag to prevent re-initialization
|
|
121
127
|
self.__initialized = True
|
|
122
128
|
|
|
@@ -383,9 +389,88 @@ class Application(Container, IApplication):
|
|
|
383
389
|
# for complex and unique application requirements, supporting advanced customization
|
|
384
390
|
# of every subsystem as needed.
|
|
385
391
|
|
|
392
|
+
def setExceptionHandler(
|
|
393
|
+
self,
|
|
394
|
+
handler: IBaseExceptionHandler
|
|
395
|
+
) -> 'Application':
|
|
396
|
+
"""
|
|
397
|
+
Register a custom exception handler class for the application.
|
|
398
|
+
|
|
399
|
+
This method allows you to specify a custom exception handler class that
|
|
400
|
+
inherits from BaseExceptionHandler. The handler class will be used to
|
|
401
|
+
manage exceptions raised within the application, including reporting and
|
|
402
|
+
rendering error messages. The provided handler must be a class (not an
|
|
403
|
+
instance) and must inherit from BaseExceptionHandler.
|
|
404
|
+
|
|
405
|
+
Parameters
|
|
406
|
+
----------
|
|
407
|
+
handler : Type[BaseExceptionHandler]
|
|
408
|
+
The exception handler class to be used by the application. Must be a
|
|
409
|
+
subclass of BaseExceptionHandler.
|
|
410
|
+
|
|
411
|
+
Returns
|
|
412
|
+
-------
|
|
413
|
+
Application
|
|
414
|
+
The current Application instance, allowing for method chaining.
|
|
415
|
+
|
|
416
|
+
Raises
|
|
417
|
+
------
|
|
418
|
+
OrionisTypeError
|
|
419
|
+
If the provided handler is not a class or is not a subclass of BaseExceptionHandler.
|
|
420
|
+
|
|
421
|
+
Notes
|
|
422
|
+
-----
|
|
423
|
+
The handler is stored internally and will be instantiated when needed.
|
|
424
|
+
This method does not instantiate the handler; it only registers the class.
|
|
425
|
+
"""
|
|
426
|
+
|
|
427
|
+
# Ensure the provided handler is a subclass of BaseExceptionHandler
|
|
428
|
+
if not issubclass(handler, BaseExceptionHandler):
|
|
429
|
+
raise OrionisTypeError(f"Expected BaseExceptionHandler subclass, got {type(handler).__name__}")
|
|
430
|
+
|
|
431
|
+
# Store the handler class in the application for later use
|
|
432
|
+
self.__exception_handler = handler
|
|
433
|
+
|
|
434
|
+
# Return the application instance for method chaining
|
|
435
|
+
return self
|
|
436
|
+
|
|
437
|
+
def getExceptionHandler(
|
|
438
|
+
self
|
|
439
|
+
) -> IBaseExceptionHandler:
|
|
440
|
+
"""
|
|
441
|
+
Retrieve the currently registered exception handler instance.
|
|
442
|
+
|
|
443
|
+
This method returns an instance of the exception handler that has been set using
|
|
444
|
+
the `setExceptionHandler` method. If no custom handler has been set, it returns
|
|
445
|
+
a default `BaseExceptionHandler` instance. The returned object is responsible
|
|
446
|
+
for handling exceptions within the application, including reporting and rendering
|
|
447
|
+
error messages.
|
|
448
|
+
|
|
449
|
+
Returns
|
|
450
|
+
-------
|
|
451
|
+
BaseExceptionHandler
|
|
452
|
+
An instance of the currently registered exception handler. If no handler
|
|
453
|
+
has been set, returns a default `BaseExceptionHandler` instance.
|
|
454
|
+
|
|
455
|
+
Notes
|
|
456
|
+
-----
|
|
457
|
+
This method always returns an instance (not a class) of the exception handler.
|
|
458
|
+
If a custom handler was registered, it is instantiated and returned; otherwise,
|
|
459
|
+
a default handler is used.
|
|
460
|
+
"""
|
|
461
|
+
|
|
462
|
+
# Check if an exception handler has been set
|
|
463
|
+
if self.__exception_handler is None:
|
|
464
|
+
|
|
465
|
+
# Return the default exception handler instance
|
|
466
|
+
return BaseExceptionHandler()
|
|
467
|
+
|
|
468
|
+
# Instantiate and return the registered exception handler
|
|
469
|
+
return self.__exception_handler()
|
|
470
|
+
|
|
386
471
|
def setScheduler(
|
|
387
472
|
self,
|
|
388
|
-
scheduler:
|
|
473
|
+
scheduler: IBaseScheduler
|
|
389
474
|
) -> 'Application':
|
|
390
475
|
"""
|
|
391
476
|
Register a custom scheduler class for the application.
|
|
@@ -430,7 +515,7 @@ class Application(Container, IApplication):
|
|
|
430
515
|
|
|
431
516
|
def getScheduler(
|
|
432
517
|
self
|
|
433
|
-
) ->
|
|
518
|
+
) -> IBaseScheduler:
|
|
434
519
|
"""
|
|
435
520
|
Retrieve the currently registered scheduler instance.
|
|
436
521
|
|
|
@@ -450,7 +535,7 @@ class Application(Container, IApplication):
|
|
|
450
535
|
|
|
451
536
|
# Check if a scheduler has been set
|
|
452
537
|
if self.__scheduler is None:
|
|
453
|
-
|
|
538
|
+
return BaseScheduler()
|
|
454
539
|
|
|
455
540
|
# Return the registered scheduler instance
|
|
456
541
|
return self.__scheduler()
|
|
@@ -2,6 +2,7 @@ from abc import abstractmethod
|
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
from typing import Any, List, Type
|
|
4
4
|
from orionis.console.base.scheduler import BaseScheduler
|
|
5
|
+
from orionis.failure.contracts.handler import IBaseExceptionHandler
|
|
5
6
|
from orionis.foundation.config.roots.paths import Paths
|
|
6
7
|
from orionis.container.contracts.service_provider import IServiceProvider
|
|
7
8
|
from orionis.container.contracts.container import IContainer
|
|
@@ -93,6 +94,68 @@ class IApplication(IContainer):
|
|
|
93
94
|
"""
|
|
94
95
|
pass
|
|
95
96
|
|
|
97
|
+
def setExceptionHandler(
|
|
98
|
+
self,
|
|
99
|
+
handler: IBaseExceptionHandler
|
|
100
|
+
) -> 'IApplication':
|
|
101
|
+
"""
|
|
102
|
+
Register a custom exception handler class for the application.
|
|
103
|
+
|
|
104
|
+
This method allows you to specify a custom exception handler class that
|
|
105
|
+
inherits from BaseHandlerException. The handler class will be used to
|
|
106
|
+
manage exceptions raised within the application, including reporting and
|
|
107
|
+
rendering error messages. The provided handler must be a class (not an
|
|
108
|
+
instance) and must inherit from BaseHandlerException.
|
|
109
|
+
|
|
110
|
+
Parameters
|
|
111
|
+
----------
|
|
112
|
+
handler : Type[BaseHandlerException]
|
|
113
|
+
The exception handler class to be used by the application. Must be a
|
|
114
|
+
subclass of BaseHandlerException.
|
|
115
|
+
|
|
116
|
+
Returns
|
|
117
|
+
-------
|
|
118
|
+
Application
|
|
119
|
+
The current Application instance, allowing for method chaining.
|
|
120
|
+
|
|
121
|
+
Raises
|
|
122
|
+
------
|
|
123
|
+
OrionisTypeError
|
|
124
|
+
If the provided handler is not a class or is not a subclass of BaseHandlerException.
|
|
125
|
+
|
|
126
|
+
Notes
|
|
127
|
+
-----
|
|
128
|
+
The handler is stored internally and will be instantiated when needed.
|
|
129
|
+
This method does not instantiate the handler; it only registers the class.
|
|
130
|
+
"""
|
|
131
|
+
pass
|
|
132
|
+
|
|
133
|
+
def getExceptionHandler(
|
|
134
|
+
self
|
|
135
|
+
) -> IBaseExceptionHandler:
|
|
136
|
+
"""
|
|
137
|
+
Retrieve the currently registered exception handler instance.
|
|
138
|
+
|
|
139
|
+
This method returns an instance of the exception handler that has been set using
|
|
140
|
+
the `setExceptionHandler` method. If no custom handler has been set, it returns
|
|
141
|
+
a default `BaseHandlerException` instance. The returned object is responsible
|
|
142
|
+
for handling exceptions within the application, including reporting and rendering
|
|
143
|
+
error messages.
|
|
144
|
+
|
|
145
|
+
Returns
|
|
146
|
+
-------
|
|
147
|
+
BaseHandlerException
|
|
148
|
+
An instance of the currently registered exception handler. If no handler
|
|
149
|
+
has been set, returns a default `BaseHandlerException` instance.
|
|
150
|
+
|
|
151
|
+
Notes
|
|
152
|
+
-----
|
|
153
|
+
This method always returns an instance (not a class) of the exception handler.
|
|
154
|
+
If a custom handler was registered, it is instantiated and returned; otherwise,
|
|
155
|
+
a default handler is used.
|
|
156
|
+
"""
|
|
157
|
+
pass
|
|
158
|
+
|
|
96
159
|
@abstractmethod
|
|
97
160
|
def setScheduler(
|
|
98
161
|
self,
|
|
@@ -104,8 +104,11 @@ orionis/container/validators/is_valid_alias.py
|
|
|
104
104
|
orionis/container/validators/lifetime.py
|
|
105
105
|
orionis/failure/__init__.py
|
|
106
106
|
orionis/failure/catch.py
|
|
107
|
+
orionis/failure/base/__init__.py
|
|
108
|
+
orionis/failure/base/handler.py
|
|
107
109
|
orionis/failure/contracts/__init__.py
|
|
108
110
|
orionis/failure/contracts/catch.py
|
|
111
|
+
orionis/failure/contracts/handler.py
|
|
109
112
|
orionis/failure/entities/__init__.py
|
|
110
113
|
orionis/failure/entities/throwable.py
|
|
111
114
|
orionis/foundation/__init__.py
|
|
File without changes
|