leaguemanager.dependency.managers¶
Module Contents¶
Classes¶
Manages a SQLAlchemySyncRepositoryService[ModelT] class. |
|
Manages Importer services. |
|
Manages scheduling services. |
Functions¶
Data¶
API¶
- leaguemanager.dependency.managers.__all__¶
[‘ServiceManagement’, ‘ImporterManagement’, ‘SchedulerManagement’]
- class leaguemanager.dependency.managers.ServiceManagement¶
Manages a SQLAlchemySyncRepositoryService[ModelT] class.
TODO: Async support
Given the
service_typeanddb_session, as well as a db_session, it will hold then provide the applicable service (for the corresponding service type.). Theget_serviceproperty will return the appropriate service for the givenservice_typeanddb_session.Attributes: service_type (type[SyncServiceT] | type[AsyncServiceT]): Service type to manage. model_type (type[ModelT]): Model type for the given
service_type. db_session (Session | None): Database session to use for the service.Example:
_service = ServiceManagement( … service_type=SeasonSyncService, model_type=Season, db_session=session … ) _service.get_service
- service_type: type[leaguemanager._types.SyncServiceT[leaguemanager._types.ModelT] | leaguemanager._types.AsyncServiceT[leaguemanager._types.ModelT]]¶
‘field(…)’
- db_session: sqlalchemy.orm.Session¶
‘field(…)’
- config: type[advanced_alchemy.config.SQLAlchemySyncConfig | advanced_alchemy.config.SQLAlchemyAsyncConfig]¶
‘field(…)’
- model_type: type[leaguemanager._types.ModelT]¶
‘field(…)’
- __attrs_post_init__()¶
- property get_service: Iterator[leaguemanager.dependency.managers.ServiceManagement]¶
- property get_async_service: AsyncGenerator[leaguemanager.dependency.managers.ServiceManagement, None]¶
Asynchronous version of get_service.
- property test_get_async_service: Iterator¶
Test method to get an async service.
- leaguemanager.dependency.managers.service_provider(service_class: type[Union[leaguemanager._types.SyncServiceT[leaguemanager._types.ModelT], leaguemanager._types.AsyncServiceT[leaguemanager._types.ModelT]]], /, statement: Select[tuple[ModelT]] | None = None, session: Session | AsyncSession | None = None, config: SQLAlchemySyncConfig | SQLAlchemyAsyncConfig | None = None) Callable[..., Union[AsyncGenerator[AsyncServiceT[ModelT], None], Generator[SyncServiceT[ModelT], None, None]]]¶
- class leaguemanager.dependency.managers.ImporterManagement¶
Manages Importer services.
Provides a basic utility to manage importers for league data. It takes an
importer_typeand provides an instance of that importer type through theget_importerproperty. It can be used to register a specific importer type for league data management.Attributes: importer_type (type[ImporterT]): Importer type to manage.
Example:
_importer = ImporterManagement(importer_type=LeagueImporter) _importer.get_importer
- importer_type: type[leaguemanager._types.ImporterT]¶
‘field(…)’
- property get_importer: leaguemanager._types.ImporterT¶
- class leaguemanager.dependency.managers.SchedulerManagement¶
Manages scheduling services.
Provides a basic utility to manage scheduling services for league data. It takes a
scheduler_typeand provides an instance of that scheduler type through theget_schedulerproperty. It can be used to register a specific scheduler type for league scheduling management.Attributes: service_type (type[SyncServiceT]): Service type to manage.
Example:
_scheduler = SchedulerManagement(service_type=BracketSchedule) _scheduler.get_service
- scheduler_type: type[leaguemanager._types.ScheduleServiceT]¶
‘field(…)’
- property get_scheduler: leaguemanager._types.ScheduleServiceT¶