Coverage for bc/kwai-bc-training/src/kwai_bc_training/trainings/training_schedule_query.py: 100%

5 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2024-01-01 00:00 +0000

1"""Module that defines an interface for a training schedule query.""" 

2 

3from abc import ABC, abstractmethod 

4from typing import Self 

5 

6from kwai_core.domain.repository.query import Query 

7 

8from kwai_bc_training.trainings.training_schedule import ( 

9 TrainingScheduleIdentifier, 

10) 

11 

12 

13class TrainingScheduleQuery(Query, ABC): 

14 """Interface for a training schedule query.""" 

15 

16 @abstractmethod 

17 def filter_by_id(self, id_: TrainingScheduleIdentifier) -> Self: 

18 """Add a filter on the training schedule id. 

19 

20 Args: 

21 id_: id of a training schedule 

22 

23 Returns: 

24 TrainingScheduleQuery: 

25 """ 

26 raise NotImplementedError 

27 

28 @abstractmethod 

29 def filter_by_ids(self, *ids: TrainingScheduleIdentifier) -> Self: 

30 """Add a filter on multiple training schedule identifiers. 

31 

32 Args: 

33 ids: a variable list of training schedule identifiers 

34 

35 Returns: 

36 TrainingScheduleQuery: 

37 """ 

38 raise NotImplementedError