Coverage for dataexcept/exceptions/scheduling.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-09-03 20:46 +0000

1# scheduling.py 

2from .base import JobError 

3 

4 

5class ScheduleConflictError(JobError): 

6 """Raised when two jobs have conflicting schedules.""" 

7 

8 def __init__(self, job_name: str, schedule: str): 

9 self.job_name = job_name 

10 self.schedule = schedule 

11 msg = f"Schedule conflict for job '{job_name}' on schedule '{schedule}'" 

12 super().__init__(msg) 

13 

14 

15class CronExpressionError(JobError): 

16 """Raised when a cron expression is invalid.""" 

17 

18 def __init__(self, expression: str, message: str | None = None): 

19 self.expression = expression 

20 self.message = message or f"Invalid cron expression: '{expression}'" 

21 super().__init__(self.message)