orionis 0.492.0__tar.gz → 0.494.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.492.0/orionis.egg-info → orionis-0.494.0}/PKG-INFO +1 -1
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/base/scheduler.py +2 -8
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/kernel.py +1 -2
- orionis-0.492.0/orionis/failure/catch.py → orionis-0.494.0/orionis/failure/base/handler.py +39 -74
- orionis-0.494.0/orionis/failure/catch.py +97 -0
- orionis-0.494.0/orionis/failure/contracts/catch.py +32 -0
- orionis-0.494.0/orionis/failure/contracts/handler.py +77 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/application.py +88 -4
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/contracts/application.py +63 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/metadata/framework.py +1 -1
- {orionis-0.492.0 → orionis-0.494.0/orionis.egg-info}/PKG-INFO +1 -1
- {orionis-0.492.0 → orionis-0.494.0}/orionis.egg-info/SOURCES.txt +3 -2
- orionis-0.492.0/orionis/console/default/scheduler.py +0 -27
- orionis-0.492.0/orionis/failure/contracts/catch.py +0 -91
- {orionis-0.492.0 → orionis-0.494.0}/LICENCE +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/MANIFEST.in +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/README.md +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/app.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/args/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/args/argument.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/args/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/args/enums/actions.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/base/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/base/command.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/base/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/base/contracts/command.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/base/contracts/scheduler.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/commands/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/commands/cache.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/commands/help.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/commands/publisher.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/commands/scheduler_list.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/commands/scheduler_work.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/commands/test.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/commands/version.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/commands/workflow.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/contracts/event.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/contracts/kernel.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/contracts/listener.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/contracts/reactor.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/contracts/schedule.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/core/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/core/reactor.py +0 -0
- {orionis-0.492.0/orionis/console/default → orionis-0.494.0/orionis/console/dumper}/__init__.py +0 -0
- {orionis-0.492.0/orionis/console/dumper → orionis-0.494.0/orionis/console/dumper/contracts}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/dumper/contracts/dump.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/dumper/dump.py +0 -0
- {orionis-0.492.0/orionis/console/dumper/contracts → orionis-0.494.0/orionis/console/dynamic}/__init__.py +0 -0
- {orionis-0.492.0/orionis/console/dynamic → orionis-0.494.0/orionis/console/dynamic/contracts}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/dynamic/contracts/progress_bar.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/dynamic/progress_bar.py +0 -0
- {orionis-0.492.0/orionis/console/dynamic/contracts → orionis-0.494.0/orionis/console/entities}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/entities/listeners.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/entities/request.py +0 -0
- {orionis-0.492.0/orionis/console/entities → orionis-0.494.0/orionis/console/enums}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/enums/command.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/enums/event.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/exceptions/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/exceptions/cli_exception.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/exceptions/cli_orionis_value_error.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/exceptions/cli_runtime_error.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/exceptions/cli_schedule_exception.py +0 -0
- {orionis-0.492.0/orionis/console/enums → orionis-0.494.0/orionis/console/output}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/output/console.py +0 -0
- {orionis-0.492.0/orionis/console/output → orionis-0.494.0/orionis/console/output/contracts}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/output/contracts/console.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/output/contracts/executor.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/output/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/output/enums/styles.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/output/executor.py +0 -0
- {orionis-0.492.0/orionis/console/output/contracts → orionis-0.494.0/orionis/console/tasks}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/tasks/event.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/tasks/exception_report.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/tasks/listener.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/console/tasks/schedule.py +0 -0
- {orionis-0.492.0/orionis/console/tasks → orionis-0.494.0/orionis/container}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/container.py +0 -0
- {orionis-0.492.0/orionis/container → orionis-0.494.0/orionis/container/context}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/context/manager.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/context/scope.py +0 -0
- {orionis-0.492.0/orionis/container/context → orionis-0.494.0/orionis/container/contracts}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/contracts/container.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/contracts/service_provider.py +0 -0
- {orionis-0.492.0/orionis/container/contracts → orionis-0.494.0/orionis/container/entities}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/entities/binding.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/enums/lifetimes.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/exceptions/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/exceptions/attribute.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/exceptions/exception.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/exceptions/type.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/exceptions/value.py +0 -0
- {orionis-0.492.0/orionis/container/entities → orionis-0.494.0/orionis/container/facades}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/facades/facade.py +0 -0
- {orionis-0.492.0/orionis/container/facades → orionis-0.494.0/orionis/container/providers}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/providers/service_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/validators/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/validators/implements.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/validators/is_abstract_class.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/validators/is_callable.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/validators/is_concrete_class.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/validators/is_instance.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/validators/is_not_subclass.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/validators/is_subclass.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/validators/is_valid_alias.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/container/validators/lifetime.py +0 -0
- {orionis-0.492.0/orionis/container/providers → orionis-0.494.0/orionis/failure}/__init__.py +0 -0
- {orionis-0.492.0/orionis/failure → orionis-0.494.0/orionis/failure/base}/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/failure/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/failure/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/failure/entities/throwable.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/app/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/app/entities/app.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/app/enums/environments.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/auth/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/cache/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/cache/entities/file.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/cors/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/entities/connections.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/entities/database.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/validators/level.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/logging/validators/path.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/mail/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/mail/entities/file.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/queue/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/queue/entities/database.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/roots/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/roots/paths.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/session/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/session/entities/session.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/session/helpers/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/startup.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/testing/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/contracts/config.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/exceptions/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/exceptions/integrity.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/exceptions/runtime.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/exceptions/type.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/exceptions/value.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/catch_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/console_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/dumper_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/executor_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/logger_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/reactor_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/testing_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/foundation/providers/workers_provider.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/metadata/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/metadata/package.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/asynchrony/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/asynchrony/coroutines.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/asynchrony/exceptions/exception.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/contracts/caster.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/contracts/env.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/core/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/core/dot_env.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/dynamic/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/dynamic/caster.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/enums/value_type.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/env.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/exceptions/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/exceptions/exception.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/exceptions/value.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/helpers/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/helpers/functions.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/key/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/key/key_generator.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/validators/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/validators/key_name.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/environment/validators/types.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/file/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/file/directory.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/inspirational/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/inspirational/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/inspirational/inspire.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/inspirational/quotes.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/abstract/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/abstract/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/abstract/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/callables/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/callables/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/callables/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/concretes/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/concretes/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/concretes/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/exceptions/attribute.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/exceptions/type.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/exceptions/value.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/instances/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/instances/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/instances/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/modules/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/modules/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/modules/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/objects/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/objects/types.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/introspection/reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/log/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/log/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/log/contracts/log_service.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/log/exceptions/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/log/exceptions/runtime.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/log/handlers/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/log/handlers/filename.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/log/handlers/size_rotating.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/log/log_service.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/system/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/system/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/system/contracts/imports.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/system/contracts/workers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/system/imports.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/system/runtime/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/system/runtime/imports.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/services/system/workers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/entities/base.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/facades/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/facades/application.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/facades/console.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/facades/dumper.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/facades/executor.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/facades/inspire.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/facades/logger.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/facades/performance_counter.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/facades/progress_bar.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/facades/reactor.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/facades/testing.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/facades/workers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/formatter/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/formatter/exceptions/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/formatter/exceptions/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/formatter/exceptions/parser.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/formatter/serializer.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/patterns/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/patterns/singleton/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/patterns/singleton/meta.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/performance/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/performance/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/performance/contracts/counter.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/performance/counter.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/standard/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/standard/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/standard/contracts/std.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/standard/exceptions/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/standard/exceptions/value.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/standard/std.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/wrapper/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/support/wrapper/dot_dict.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/cases/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/cases/asynchronous.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/cases/synchronous.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/contracts/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/contracts/dumper.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/contracts/kernel.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/contracts/logs.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/contracts/printer.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/contracts/render.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/contracts/test_result.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/contracts/unit_test.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/core/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/core/unit_test.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/entities/result.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/enums/status.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/exceptions/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/exceptions/config.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/exceptions/failure.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/exceptions/persistence.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/exceptions/runtime.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/exceptions/value.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/kernel.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/output/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/output/dumper.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/output/printer.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/records/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/records/logs.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/base_path.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/execution_mode.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/fail_fast.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/folder_path.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/module_name.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/name_pattern.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/pattern.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/persistent.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/persistent_driver.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/print_result.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/tags.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/throw_exception.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/verbosity.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/web_report.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/validators/workers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/view/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis/test/view/render.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis.egg-info/dependency_links.txt +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis.egg-info/requires.txt +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis.egg-info/top_level.txt +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/orionis.egg-info/zip-safe +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/setup.cfg +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/setup.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/context/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/context/test_manager.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/context/test_scope.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/core/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/core/test_advanced_async.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/core/test_async_optimizations.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/core/test_container.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/core/test_singleton.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/core/test_thread_safety.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/entities/test_binding.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/enums/test_lifetimes.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/facades/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/facades/test_facade.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/mocks/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/mocks/mock_advanced_async.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/mocks/mock_async_optimizations.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/mocks/mock_auto_resolution.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/mocks/mock_complex_classes.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/mocks/mock_simple_classes.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/providers/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/providers/test_providers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/validators/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/validators/test_implements.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/validators/test_is_abstract_class.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/validators/test_is_callable.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/validators/test_is_concrete_class.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/validators/test_is_instance.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/validators/test_is_not_subclass.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/validators/test_is_subclass.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/validators/test_is_valid_alias.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/container/validators/test_lifetime.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/example/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/example/test_example.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/app/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/auth/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/cache/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/cors/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/database/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/filesystems/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/logging/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/mail/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/queue/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/root/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/session/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/startup/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/testing/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/metadata/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/metadata/test_metadata_framework.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/metadata/test_metadata_package.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/asynchrony/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/environment/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/environment/test_services_environment.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/dependencies/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/dependencies/mocks/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/dependencies/mocks/mock_user.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/dependencies/mocks/mock_user_controller.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/dependencies/mocks/mock_users_permissions.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/dependencies/test_reflect_dependencies.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/reflection/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/reflection/mock/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/reflection/mock/fake_reflect_instance.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/reflection/test_reflection_abstract.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/reflection/test_reflection_callable.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/reflection/test_reflection_concrete.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/reflection/test_reflection_instance.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/reflection/test_reflection_module.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/introspection/test_reflection.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/log/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/log/test_log.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/system/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/system/test_services_system_imports.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/services/system/test_services_system_workers.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/support/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/support/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/support/entities/mock_dataclass.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/support/entities/test_base.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/support/patterns/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/support/patterns/singleton/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/support/patterns/singleton/test_patterns_singleton.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/support/standard/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/support/standard/test_services_std.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/support/wrapper/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/cases/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/cases/test_testing_asynchronous.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/cases/test_testing_synchronous.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/entities/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/entities/test_testing_result.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/enums/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/enums/test_testing_status.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/output/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/output/test_testing_dumper.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/output/test_testing_printer.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/records/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/records/test_testing_records.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/test_testing_unit.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/validators/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/validators/test_testing_validators.py +0 -0
- {orionis-0.492.0 → orionis-0.494.0}/tests/testing/view/__init__.py +0 -0
- {orionis-0.492.0 → orionis-0.494.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
|
"""
|
|
@@ -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,44 @@ class Catch(ICatch):
|
|
|
74
40
|
traceback=getattr(e, '__traceback__', None) # The traceback object, if available
|
|
75
41
|
)
|
|
76
42
|
|
|
77
|
-
def
|
|
43
|
+
def shouldIgnoreException(self, e: BaseException) -> bool:
|
|
78
44
|
"""
|
|
79
|
-
|
|
45
|
+
Determines if the exception should be ignored (not handled) by the handler.
|
|
80
46
|
|
|
81
47
|
Parameters
|
|
82
48
|
----------
|
|
83
|
-
|
|
84
|
-
The exception instance to
|
|
49
|
+
e : BaseException
|
|
50
|
+
The exception instance to check.
|
|
85
51
|
|
|
86
52
|
Returns
|
|
87
53
|
-------
|
|
88
|
-
|
|
89
|
-
|
|
54
|
+
bool
|
|
55
|
+
True if the exception should be ignored, False otherwise.
|
|
56
|
+
"""
|
|
90
57
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
If the provided exception is not an instance of BaseException.
|
|
58
|
+
# Ensure the provided object is an exception
|
|
59
|
+
if not isinstance(e, BaseException):
|
|
60
|
+
raise TypeError(f"Expected BaseException, got {type(e).__name__}")
|
|
95
61
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
62
|
+
# Convert the exception into a structured Throwable object
|
|
63
|
+
throwable = self.destructureException(e)
|
|
64
|
+
|
|
65
|
+
# Check if the exception type is in the list of exceptions to ignore
|
|
66
|
+
return hasattr(self, 'dont_cathc') and throwable.classtype in self.dont_cathc
|
|
67
|
+
|
|
68
|
+
def report (self, exception: BaseException, log: ILogger) -> Any:
|
|
100
69
|
"""
|
|
70
|
+
Report or log an exception.
|
|
71
|
+
|
|
72
|
+
Parameters
|
|
73
|
+
----------
|
|
74
|
+
exception : BaseException
|
|
75
|
+
The exception instance that was caught.
|
|
101
76
|
|
|
77
|
+
Returns
|
|
78
|
+
-------
|
|
79
|
+
None
|
|
80
|
+
"""
|
|
102
81
|
# Ensure the provided object is an exception
|
|
103
82
|
if not isinstance(exception, BaseException):
|
|
104
83
|
raise TypeError(f"Expected BaseException, got {type(exception).__name__}")
|
|
@@ -111,38 +90,24 @@ class Catch(ICatch):
|
|
|
111
90
|
return
|
|
112
91
|
|
|
113
92
|
# Log the exception details
|
|
114
|
-
|
|
93
|
+
log.error(f"[{throwable.classtype.__name__}] {throwable.message}")
|
|
115
94
|
|
|
116
95
|
# Return the structured exception
|
|
117
96
|
return throwable
|
|
118
97
|
|
|
119
|
-
def renderCLI(self, args: List[str], exception: BaseException) -> Any:
|
|
98
|
+
def renderCLI(self, args: List[str], exception: BaseException, log: ILogger, console: IConsole) -> Any:
|
|
120
99
|
"""
|
|
121
|
-
|
|
100
|
+
Render the exception message for CLI output.
|
|
122
101
|
|
|
123
102
|
Parameters
|
|
124
103
|
----------
|
|
125
|
-
args : list
|
|
126
|
-
The list of command-line arguments that were passed to the CLI.
|
|
127
104
|
exception : BaseException
|
|
128
|
-
The exception instance
|
|
105
|
+
The exception instance that was caught.
|
|
129
106
|
|
|
130
107
|
Returns
|
|
131
108
|
-------
|
|
132
109
|
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
110
|
"""
|
|
145
|
-
|
|
146
111
|
# Ensure the provided object is an exception
|
|
147
112
|
if not isinstance(exception, BaseException):
|
|
148
113
|
raise TypeError(f"Expected BaseException, got {type(exception).__name__}")
|
|
@@ -155,9 +120,9 @@ class Catch(ICatch):
|
|
|
155
120
|
return
|
|
156
121
|
|
|
157
122
|
# Log the CLI error message with arguments
|
|
158
|
-
|
|
123
|
+
log.error(f"CLI Error: {throwable.message} (Args: {args})")
|
|
159
124
|
|
|
160
125
|
# Output the exception traceback to the console
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
126
|
+
console.newLine()
|
|
127
|
+
console.exception(exception)
|
|
128
|
+
console.newLine()
|
|
@@ -0,0 +1,97 @@
|
|
|
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
|
+
# Check if the exception should be ignored by the handler
|
|
81
|
+
if self.__exception_handler.shouldIgnoreException(e):
|
|
82
|
+
return
|
|
83
|
+
|
|
84
|
+
# Report the exception using the application's exception handler and logger
|
|
85
|
+
self.__exception_handler.report(
|
|
86
|
+
exception=e,
|
|
87
|
+
log=self.__logger
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
# If a kernel is provided, render the exception details to the CLI
|
|
91
|
+
if isinstance(kernel, KernelCLI):
|
|
92
|
+
return self.__exception_handler.renderCLI(
|
|
93
|
+
args=request,
|
|
94
|
+
exception=e,
|
|
95
|
+
log=self.__logger,
|
|
96
|
+
console=self.__console
|
|
97
|
+
)
|
|
@@ -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,77 @@
|
|
|
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 destructureException(self, e: BaseException):
|
|
10
|
+
"""
|
|
11
|
+
Converts an exception into a structured `Throwable` object containing detailed information.
|
|
12
|
+
|
|
13
|
+
Parameters
|
|
14
|
+
----------
|
|
15
|
+
e : BaseException
|
|
16
|
+
The exception instance to be destructured.
|
|
17
|
+
|
|
18
|
+
Returns
|
|
19
|
+
-------
|
|
20
|
+
Throwable
|
|
21
|
+
A `Throwable` object encapsulating the exception's class type, message, arguments, and traceback.
|
|
22
|
+
|
|
23
|
+
Notes
|
|
24
|
+
-----
|
|
25
|
+
This method extracts the type, message, arguments, and traceback from the provided exception
|
|
26
|
+
and wraps them in a `Throwable` object for consistent error handling and reporting.
|
|
27
|
+
"""
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
@abstractmethod
|
|
31
|
+
def shouldIgnoreException(self, e: BaseException) -> bool:
|
|
32
|
+
"""
|
|
33
|
+
Determines if the exception should be ignored (not handled) by the handler.
|
|
34
|
+
|
|
35
|
+
Parameters
|
|
36
|
+
----------
|
|
37
|
+
e : BaseException
|
|
38
|
+
The exception instance to check.
|
|
39
|
+
|
|
40
|
+
Returns
|
|
41
|
+
-------
|
|
42
|
+
bool
|
|
43
|
+
True if the exception should be ignored, False otherwise.
|
|
44
|
+
"""
|
|
45
|
+
pass
|
|
46
|
+
|
|
47
|
+
@abstractmethod
|
|
48
|
+
def report (self, exception: BaseException, log: ILogger) -> Any:
|
|
49
|
+
"""
|
|
50
|
+
Report or log an exception.
|
|
51
|
+
|
|
52
|
+
Parameters
|
|
53
|
+
----------
|
|
54
|
+
exception : BaseException
|
|
55
|
+
The exception instance that was caught.
|
|
56
|
+
|
|
57
|
+
Returns
|
|
58
|
+
-------
|
|
59
|
+
None
|
|
60
|
+
"""
|
|
61
|
+
pass
|
|
62
|
+
|
|
63
|
+
@abstractmethod
|
|
64
|
+
def renderCLI(self, args: List[str], exception: BaseException, log: ILogger, console: IConsole) -> Any:
|
|
65
|
+
"""
|
|
66
|
+
Render the exception message for CLI output.
|
|
67
|
+
|
|
68
|
+
Parameters
|
|
69
|
+
----------
|
|
70
|
+
exception : BaseException
|
|
71
|
+
The exception instance that was caught.
|
|
72
|
+
|
|
73
|
+
Returns
|
|
74
|
+
-------
|
|
75
|
+
None
|
|
76
|
+
"""
|
|
77
|
+
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,8 +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
|
-
|
|
454
|
-
return DefaultScheduler()
|
|
538
|
+
return BaseScheduler()
|
|
455
539
|
|
|
456
540
|
# Return the registered scheduler instance
|
|
457
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,
|
|
@@ -39,8 +39,6 @@ orionis/console/contracts/reactor.py
|
|
|
39
39
|
orionis/console/contracts/schedule.py
|
|
40
40
|
orionis/console/core/__init__.py
|
|
41
41
|
orionis/console/core/reactor.py
|
|
42
|
-
orionis/console/default/__init__.py
|
|
43
|
-
orionis/console/default/scheduler.py
|
|
44
42
|
orionis/console/dumper/__init__.py
|
|
45
43
|
orionis/console/dumper/dump.py
|
|
46
44
|
orionis/console/dumper/contracts/__init__.py
|
|
@@ -106,8 +104,11 @@ orionis/container/validators/is_valid_alias.py
|
|
|
106
104
|
orionis/container/validators/lifetime.py
|
|
107
105
|
orionis/failure/__init__.py
|
|
108
106
|
orionis/failure/catch.py
|
|
107
|
+
orionis/failure/base/__init__.py
|
|
108
|
+
orionis/failure/base/handler.py
|
|
109
109
|
orionis/failure/contracts/__init__.py
|
|
110
110
|
orionis/failure/contracts/catch.py
|
|
111
|
+
orionis/failure/contracts/handler.py
|
|
111
112
|
orionis/failure/entities/__init__.py
|
|
112
113
|
orionis/failure/entities/throwable.py
|
|
113
114
|
orionis/foundation/__init__.py
|