orionis 0.611.0__tar.gz → 0.612.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.611.0/orionis.egg-info → orionis-0.612.0}/PKG-INFO +1 -1
- {orionis-0.611.0 → orionis-0.612.0}/orionis/metadata/framework.py +1 -1
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/concretes/reflection.py +91 -39
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/instances/reflection.py +99 -26
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/core/unit_test.py +6 -3
- {orionis-0.611.0 → orionis-0.612.0/orionis.egg-info}/PKG-INFO +1 -1
- {orionis-0.611.0 → orionis-0.612.0}/LICENCE +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/MANIFEST.in +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/README.md +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/args/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/args/argument.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/base/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/base/command.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/base/scheduler.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/base/scheduler_event_listener.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/commands/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/commands/cache.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/commands/help.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/commands/make_listener.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/commands/publisher.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/commands/scheduler_list.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/commands/scheduler_work.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/commands/test.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/commands/version.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/commands/workflow.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/base_command.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/base_scheduler.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/cli_request.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/command.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/console.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/debug.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/event.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/executor.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/kernel.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/progress_bar.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/reactor.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/schedule.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/contracts/schedule_event_listener.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/core/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/core/reactor.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/dumper/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/dumper/debug.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/dynamic/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/dynamic/progress_bar.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/entities/command.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/entities/event.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/entities/event_job.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/entities/scheduler_error.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/entities/scheduler_event_data.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/entities/scheduler_paused.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/entities/scheduler_resumed.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/entities/scheduler_shutdown.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/entities/scheduler_started.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/enums/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/enums/actions.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/enums/listener.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/enums/styles.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/exceptions/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/exceptions/cli_exceptions.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/fluent/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/fluent/command.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/fluent/event.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/kernel.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/output/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/output/console.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/output/executor.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/request/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/request/cli_request.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/stub/command.stub +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/stub/listener.stub +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/tasks/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/console/tasks/schedule.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/container.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/context/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/context/manager.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/context/scope.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/contracts/container.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/contracts/service_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/entities/binding.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/enums/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/enums/lifetimes.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/exceptions/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/exceptions/container.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/facades/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/facades/facade.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/providers/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/providers/service_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/validators/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/validators/implements.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/validators/is_abstract_class.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/validators/is_callable.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/validators/is_concrete_class.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/validators/is_instance.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/validators/is_not_subclass.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/validators/is_subclass.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/validators/is_valid_alias.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/container/validators/lifetime.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/failure/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/failure/base/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/failure/base/handler.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/failure/catch.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/failure/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/failure/contracts/catch.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/failure/contracts/handler.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/failure/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/failure/entities/throwable.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/application.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/app/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/app/entities/app.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/app/enums/environments.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/auth/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/cache/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/cache/entities/file.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/cors/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/entities/connections.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/entities/database.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/validators/level.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/logging/validators/path.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/mail/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/mail/entities/file.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/queue/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/queue/entities/database.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/roots/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/roots/paths.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/session/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/session/entities/session.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/session/helpers/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/startup.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/testing/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/contracts/application.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/contracts/config.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/exceptions/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/exceptions/application.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/catch_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/cli_request_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/console_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/directory_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/dumper_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/executor_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/logger_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/reactor_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/testing_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/foundation/providers/workers_provider.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/metadata/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/metadata/package.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/asynchrony/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/asynchrony/coroutines.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/asynchrony/exceptions/asynchrony.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/encrypter/encrypter.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/contracts/caster.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/contracts/env.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/core/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/core/dot_env.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/dynamic/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/dynamic/caster.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/enums/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/enums/value_type.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/env.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/exceptions/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/exceptions/environment.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/helpers/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/helpers/functions.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/key/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/key/key_generator.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/validators/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/validators/key_name.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/environment/validators/types.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/file/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/file/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/file/contracts/directory.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/file/directory.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/inspirational/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/inspirational/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/inspirational/inspire.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/inspirational/quotes.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/abstract/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/abstract/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/abstract/reflection.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/callables/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/callables/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/callables/reflection.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/concretes/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/concretes/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/exceptions/introspection.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/instances/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/instances/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/modules/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/modules/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/modules/reflection.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/objects/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/objects/types.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/introspection/reflection.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/log/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/log/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/log/contracts/log_service.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/log/exceptions/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/log/exceptions/log.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/log/handlers/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/log/handlers/filename.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/log/handlers/size_rotating.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/log/log_service.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/system/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/system/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/system/contracts/imports.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/system/contracts/workers.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/system/imports.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/system/runtime/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/system/runtime/imports.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/services/system/workers.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/entities/base.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/application.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/application.pyi +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/console.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/console.pyi +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/directory.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/directory.pyi +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/dumper.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/dumper.pyi +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/executor.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/executor.pyi +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/inspire.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/inspire.pyi +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/logger.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/logger.pyi +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/performance_counter.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/performance_counter.pyi +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/progress_bar.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/progress_bar.pyi +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/reactor.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/reactor.pyi +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/testing.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/testing.pyi +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/workers.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/facades/workers.pyi +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/formatter/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/formatter/exceptions/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/formatter/exceptions/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/formatter/exceptions/parser.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/formatter/serializer.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/patterns/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/patterns/singleton/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/patterns/singleton/meta.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/performance/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/performance/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/performance/contracts/counter.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/performance/counter.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/standard/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/standard/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/standard/contracts/std.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/standard/exceptions/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/standard/exceptions/standard.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/standard/std.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/wrapper/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/wrapper/dataclass.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/support/wrapper/dot_dict.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/cases/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/cases/asynchronous.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/cases/synchronous.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/contracts/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/contracts/dumper.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/contracts/kernel.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/contracts/logs.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/contracts/printer.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/contracts/render.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/contracts/test_result.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/contracts/unit_test.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/core/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/entities/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/entities/result.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/enums/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/enums/status.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/exceptions/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/exceptions/config.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/exceptions/failure.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/exceptions/persistence.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/exceptions/runtime.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/exceptions/value.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/kernel.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/output/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/output/dumper.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/output/printer.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/records/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/records/logs.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/base_path.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/execution_mode.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/fail_fast.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/folder_path.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/module_name.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/name_pattern.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/pattern.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/persistent.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/persistent_driver.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/throw_exception.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/verbosity.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/web_report.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/validators/workers.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/view/__init__.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/view/render.py +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis/test/view/report.stub +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis.egg-info/SOURCES.txt +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis.egg-info/dependency_links.txt +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis.egg-info/not-zip-safe +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis.egg-info/requires.txt +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/orionis.egg-info/top_level.txt +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/setup.cfg +0 -0
- {orionis-0.611.0 → orionis-0.612.0}/setup.py +0 -0
|
@@ -245,24 +245,56 @@ class ReflectionConcrete(IReflectionConcrete):
|
|
|
245
245
|
"""
|
|
246
246
|
return self._concrete.__bases__
|
|
247
247
|
|
|
248
|
-
def getSourceCode(self) -> str:
|
|
248
|
+
def getSourceCode(self, method: str = None) -> str | None:
|
|
249
249
|
"""
|
|
250
|
-
|
|
250
|
+
Retrieve the source code for the reflected class or a specific method.
|
|
251
|
+
|
|
252
|
+
Parameters
|
|
253
|
+
----------
|
|
254
|
+
method : str, optional
|
|
255
|
+
The name of the method whose source code should be retrieved. If not provided,
|
|
256
|
+
the source code of the entire class is returned. If the method name refers to a
|
|
257
|
+
private method, Python name mangling is handled automatically.
|
|
251
258
|
|
|
252
259
|
Returns
|
|
253
260
|
-------
|
|
254
|
-
str
|
|
255
|
-
The
|
|
261
|
+
str or None
|
|
262
|
+
The source code as a string if available. Returns None if the source code cannot
|
|
263
|
+
be found (e.g., for built-in or dynamically generated classes/methods), or if the
|
|
264
|
+
specified method does not exist.
|
|
256
265
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
266
|
+
Notes
|
|
267
|
+
-----
|
|
268
|
+
- If `method` is specified and refers to a private method, name mangling is handled automatically.
|
|
269
|
+
- If the source code cannot be found (e.g., for built-in or dynamically generated classes/methods), None is returned.
|
|
270
|
+
- If the specified method does not exist in the class, None is returned.
|
|
261
271
|
"""
|
|
272
|
+
|
|
262
273
|
try:
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
274
|
+
|
|
275
|
+
# Return the source code of the entire class
|
|
276
|
+
if not method:
|
|
277
|
+
return inspect.getsource(self._concrete)
|
|
278
|
+
|
|
279
|
+
# Handle private method name mangling for methods starting with double underscore
|
|
280
|
+
else:
|
|
281
|
+
|
|
282
|
+
# Handle private method name mangling
|
|
283
|
+
if method.startswith("__") and not method.endswith("__"):
|
|
284
|
+
class_name = self.getClassName()
|
|
285
|
+
method = f"_{class_name}{method}"
|
|
286
|
+
|
|
287
|
+
# Check if the method exists in the class
|
|
288
|
+
if not self.hasMethod(method):
|
|
289
|
+
return None
|
|
290
|
+
|
|
291
|
+
# Return the source code of the specified method
|
|
292
|
+
return inspect.getsource(getattr(self._concrete, method))
|
|
293
|
+
|
|
294
|
+
except (TypeError, OSError):
|
|
295
|
+
|
|
296
|
+
# Return None if the source code cannot be retrieved (e.g., built-in or dynamic)
|
|
297
|
+
return None
|
|
266
298
|
|
|
267
299
|
def getFile(self) -> str:
|
|
268
300
|
"""
|
|
@@ -438,25 +470,36 @@ class ReflectionConcrete(IReflectionConcrete):
|
|
|
438
470
|
|
|
439
471
|
def getAttributes(self) -> dict:
|
|
440
472
|
"""
|
|
441
|
-
|
|
473
|
+
Retrieve all class attributes across all visibility levels.
|
|
442
474
|
|
|
443
|
-
|
|
444
|
-
|
|
475
|
+
This method aggregates and returns a dictionary containing all attributes
|
|
476
|
+
defined on the reflected class, including public, protected, private (with
|
|
477
|
+
name mangling resolved), and dunder (magic) attributes. Callable members,
|
|
478
|
+
static methods, class methods, and properties are excluded from the result.
|
|
445
479
|
|
|
446
480
|
Returns
|
|
447
481
|
-------
|
|
448
482
|
dict
|
|
449
|
-
A dictionary mapping attribute names to their
|
|
450
|
-
|
|
483
|
+
A dictionary mapping attribute names (as strings) to their corresponding
|
|
484
|
+
values. The dictionary includes attributes of all visibility levels:
|
|
485
|
+
public, protected, private (with name mangling removed), and dunder
|
|
486
|
+
attributes, but excludes methods and properties. The result is cached
|
|
487
|
+
after the first call for performance.
|
|
451
488
|
"""
|
|
452
489
|
|
|
453
|
-
#
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
490
|
+
# Use cache to avoid recomputation on subsequent calls
|
|
491
|
+
if not hasattr(self, "_ReflectionConcrete__cacheGetAttributes"):
|
|
492
|
+
|
|
493
|
+
# Merge all attribute dictionaries from different visibility levels
|
|
494
|
+
self.__cacheGetAttributes = {
|
|
495
|
+
**self.getPublicAttributes(),
|
|
496
|
+
**self.getProtectedAttributes(),
|
|
497
|
+
**self.getPrivateAttributes(),
|
|
498
|
+
**self.getDunderAttributes()
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
# Return the cached dictionary of all attributes
|
|
502
|
+
return self.__cacheGetAttributes
|
|
460
503
|
|
|
461
504
|
def getPublicAttributes(self) -> dict:
|
|
462
505
|
"""
|
|
@@ -769,27 +812,36 @@ class ReflectionConcrete(IReflectionConcrete):
|
|
|
769
812
|
|
|
770
813
|
def getMethods(self) -> List[str]:
|
|
771
814
|
"""
|
|
772
|
-
|
|
815
|
+
Retrieve all method names defined in the reflected class, including instance, class, and static methods.
|
|
773
816
|
|
|
774
|
-
|
|
775
|
-
|
|
817
|
+
This method aggregates method names from all visibility levels (public, protected, private) and method types
|
|
818
|
+
(instance, class, static). The result is cached after the first call to improve performance on subsequent calls.
|
|
776
819
|
|
|
777
820
|
Returns
|
|
778
821
|
-------
|
|
779
822
|
List[str]
|
|
780
|
-
A
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
823
|
+
A list containing the names of all methods (instance, class, and static) defined in the class,
|
|
824
|
+
including public, protected, and private methods. The list is cached for efficiency.
|
|
825
|
+
"""
|
|
826
|
+
|
|
827
|
+
# Check if the method names have already been cached
|
|
828
|
+
if not hasattr(self, "_ReflectionConcrete__cacheGetMethods"):
|
|
829
|
+
|
|
830
|
+
# Aggregate all method names from different categories and cache the result
|
|
831
|
+
self.__cacheGetMethods = [
|
|
832
|
+
*self.getPublicMethods(),
|
|
833
|
+
*self.getProtectedMethods(),
|
|
834
|
+
*self.getPrivateMethods(),
|
|
835
|
+
*self.getPublicClassMethods(),
|
|
836
|
+
*self.getProtectedClassMethods(),
|
|
837
|
+
*self.getPrivateClassMethods(),
|
|
838
|
+
*self.getPublicStaticMethods(),
|
|
839
|
+
*self.getProtectedStaticMethods(),
|
|
840
|
+
*self.getPrivateStaticMethods(),
|
|
841
|
+
]
|
|
842
|
+
|
|
843
|
+
# Return the cached list of method names
|
|
844
|
+
return self.__cacheGetMethods
|
|
793
845
|
|
|
794
846
|
def getPublicMethods(self) -> list:
|
|
795
847
|
"""
|
|
@@ -189,18 +189,52 @@ class ReflectionInstance(IReflectionInstance):
|
|
|
189
189
|
"""
|
|
190
190
|
return self._instance.__class__.__bases__
|
|
191
191
|
|
|
192
|
-
def getSourceCode(self) -> Optional[str]:
|
|
192
|
+
def getSourceCode(self, method: str = None) -> Optional[str]:
|
|
193
193
|
"""
|
|
194
|
-
|
|
194
|
+
Retrieve the source code of the instance's class or a specific method.
|
|
195
|
+
|
|
196
|
+
Parameters
|
|
197
|
+
----------
|
|
198
|
+
method : str, optional
|
|
199
|
+
The name of the method whose source code should be retrieved. If not provided,
|
|
200
|
+
the source code of the entire class is returned.
|
|
195
201
|
|
|
196
202
|
Returns
|
|
197
203
|
-------
|
|
198
204
|
Optional[str]
|
|
199
|
-
The source code if available, None
|
|
205
|
+
The source code as a string if available; otherwise, None.
|
|
206
|
+
|
|
207
|
+
Raises
|
|
208
|
+
------
|
|
209
|
+
None
|
|
210
|
+
This method does not raise exceptions; it returns None if the source code cannot be retrieved.
|
|
211
|
+
|
|
212
|
+
Notes
|
|
213
|
+
-----
|
|
214
|
+
- If `method` is specified and refers to a private method, name mangling is handled automatically.
|
|
215
|
+
- If the source code cannot be found (e.g., for built-in or dynamically generated classes/methods), None is returned.
|
|
200
216
|
"""
|
|
201
217
|
try:
|
|
202
|
-
|
|
218
|
+
if not method:
|
|
219
|
+
# Return the source code of the class
|
|
220
|
+
return inspect.getsource(self._instance.__class__)
|
|
221
|
+
else:
|
|
222
|
+
|
|
223
|
+
# Handle private method name mangling
|
|
224
|
+
if method.startswith("__") and not method.endswith("__"):
|
|
225
|
+
class_name = self.getClassName()
|
|
226
|
+
method = f"_{class_name}{method}"
|
|
227
|
+
|
|
228
|
+
# Check if the method exists
|
|
229
|
+
if not self.hasMethod(method):
|
|
230
|
+
return None
|
|
231
|
+
|
|
232
|
+
# Return the source code of the specified method
|
|
233
|
+
return inspect.getsource(getattr(self._instance.__class__, method))
|
|
234
|
+
|
|
203
235
|
except (TypeError, OSError):
|
|
236
|
+
|
|
237
|
+
# Return None if the source code cannot be retrieved
|
|
204
238
|
return None
|
|
205
239
|
|
|
206
240
|
def getFile(self) -> Optional[str]:
|
|
@@ -340,19 +374,38 @@ class ReflectionInstance(IReflectionInstance):
|
|
|
340
374
|
|
|
341
375
|
def getAttributes(self) -> Dict[str, Any]:
|
|
342
376
|
"""
|
|
343
|
-
|
|
377
|
+
Retrieve all attributes of the instance, including public, protected, private, and dunder (magic) attributes.
|
|
378
|
+
|
|
379
|
+
This method aggregates attributes from all visibility levels by combining the results of
|
|
380
|
+
`getPublicAttributes`, `getProtectedAttributes`, `getPrivateAttributes`, and `getDunderAttributes`.
|
|
381
|
+
The result is cached for subsequent calls to improve performance.
|
|
344
382
|
|
|
345
383
|
Returns
|
|
346
384
|
-------
|
|
347
385
|
Dict[str, Any]
|
|
348
|
-
|
|
386
|
+
A dictionary mapping attribute names (as strings) to their corresponding values for all
|
|
387
|
+
attributes of the instance, including public, protected, private, and dunder attributes.
|
|
388
|
+
|
|
389
|
+
Notes
|
|
390
|
+
-----
|
|
391
|
+
- The returned dictionary includes all instance attributes, regardless of their visibility.
|
|
392
|
+
- Private attribute names are unmangled (class name prefix is removed).
|
|
393
|
+
- The result is cached in the instance to avoid redundant computation on repeated calls.
|
|
349
394
|
"""
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
395
|
+
|
|
396
|
+
# Check if the cache for attributes exists; if not, compute and store it
|
|
397
|
+
if not hasattr(self, "_ReflectionInstance__cacheGetAttributes"):
|
|
398
|
+
|
|
399
|
+
# Merge all attribute dictionaries from different visibility levels
|
|
400
|
+
self.__cacheGetAttributes = {
|
|
401
|
+
**self.getPublicAttributes(),
|
|
402
|
+
**self.getProtectedAttributes(),
|
|
403
|
+
**self.getPrivateAttributes(),
|
|
404
|
+
**self.getDunderAttributes()
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
# Return the cached dictionary of attributes
|
|
408
|
+
return self.__cacheGetAttributes
|
|
356
409
|
|
|
357
410
|
def getPublicAttributes(self) -> Dict[str, Any]:
|
|
358
411
|
"""
|
|
@@ -634,24 +687,44 @@ class ReflectionInstance(IReflectionInstance):
|
|
|
634
687
|
|
|
635
688
|
def getMethods(self) -> List[str]:
|
|
636
689
|
"""
|
|
637
|
-
|
|
690
|
+
Retrieve all method names associated with the instance, including public, protected, private,
|
|
691
|
+
class, and static methods.
|
|
692
|
+
|
|
693
|
+
This method aggregates method names from various categories (public, protected, private, class,
|
|
694
|
+
and static) by calling the corresponding getter methods. The result is cached for subsequent calls
|
|
695
|
+
to improve performance.
|
|
638
696
|
|
|
639
697
|
Returns
|
|
640
698
|
-------
|
|
641
699
|
List[str]
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
700
|
+
A list containing the names of all methods (instance, class, and static) defined on the instance's class,
|
|
701
|
+
including public, protected, and private methods.
|
|
702
|
+
|
|
703
|
+
Notes
|
|
704
|
+
-----
|
|
705
|
+
- The returned list includes method names from all visibility levels (public, protected, private),
|
|
706
|
+
as well as class and static methods.
|
|
707
|
+
- The result is cached in the instance to avoid redundant computation on repeated calls.
|
|
708
|
+
"""
|
|
709
|
+
|
|
710
|
+
# Check if the cache for method names exists; if not, compute and store it
|
|
711
|
+
if not hasattr(self, "_ReflectionInstance__cacheGetMethods"):
|
|
712
|
+
|
|
713
|
+
# Compute and cache the list of method names
|
|
714
|
+
self.__cacheGetMethods = [
|
|
715
|
+
*self.getPublicMethods(),
|
|
716
|
+
*self.getProtectedMethods(),
|
|
717
|
+
*self.getPrivateMethods(),
|
|
718
|
+
*self.getPublicClassMethods(),
|
|
719
|
+
*self.getProtectedClassMethods(),
|
|
720
|
+
*self.getPrivateClassMethods(),
|
|
721
|
+
*self.getPublicStaticMethods(),
|
|
722
|
+
*self.getProtectedStaticMethods(),
|
|
723
|
+
*self.getPrivateStaticMethods(),
|
|
724
|
+
]
|
|
725
|
+
|
|
726
|
+
# Return the cached list of method names
|
|
727
|
+
return self.__cacheGetMethods
|
|
655
728
|
|
|
656
729
|
def getPublicMethods(self) -> List[str]:
|
|
657
730
|
"""
|
|
@@ -665,11 +665,13 @@ class UnitTest(IUnitTest):
|
|
|
665
665
|
- If a debug keyword is found, disables live console output for the test run.
|
|
666
666
|
"""
|
|
667
667
|
try:
|
|
668
|
+
|
|
668
669
|
# Gather method names to inspect: main test method and common setup/teardown hooks
|
|
669
|
-
|
|
670
|
+
rf_instance = ReflectionInstance(test_case)
|
|
671
|
+
method_name = rf_instance.getAttribute("_testMethodName")
|
|
670
672
|
extra_methods = ["setUp", "tearDown", "onSetup", "onTeardown"]
|
|
671
673
|
method_names_to_check = [method_name] if method_name else []
|
|
672
|
-
method_names_to_check += [m for m in extra_methods if
|
|
674
|
+
method_names_to_check += [m for m in extra_methods if rf_instance.hasMethod(m)]
|
|
673
675
|
|
|
674
676
|
# Inspect each method's source code for debug keywords
|
|
675
677
|
for mname in method_names_to_check:
|
|
@@ -681,7 +683,7 @@ class UnitTest(IUnitTest):
|
|
|
681
683
|
try:
|
|
682
684
|
|
|
683
685
|
# Retrieve the source code of the method
|
|
684
|
-
source =
|
|
686
|
+
source = rf_instance.getSourceCode(mname)
|
|
685
687
|
|
|
686
688
|
except Exception:
|
|
687
689
|
|
|
@@ -705,6 +707,7 @@ class UnitTest(IUnitTest):
|
|
|
705
707
|
if self.__live_console is True:
|
|
706
708
|
self.__live_console = False
|
|
707
709
|
return True
|
|
710
|
+
|
|
708
711
|
except Exception:
|
|
709
712
|
|
|
710
713
|
# On any error during inspection, return False
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|