Coverage for backend/django/Economics/scheduling/composite/domain.py: 100%

30 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-07-22 05:22 +0000

1"""Domain constants and enums for composite production schedules.""" 

2 

3from __future__ import annotations 

4 

5from enum import IntEnum, StrEnum 

6 

7COMPOSITE_SCHEDULE_LABEL_MAX_LENGTH = 128 

8COMPOSITE_SCHEDULE_RULE_MAX_COUNT = 64 

9 

10 

11class ScheduleWeekday(IntEnum): 

12 MONDAY = 0 

13 TUESDAY = 1 

14 WEDNESDAY = 2 

15 THURSDAY = 3 

16 FRIDAY = 4 

17 SATURDAY = 5 

18 SUNDAY = 6 

19 

20 

21class ScheduleTimelineSourceKind(StrEnum): 

22 SCHEDULED_SOURCE = "scheduled_source" 

23 OFF_PERIOD = "off_period" 

24 

25 

26class ScheduleDiagnosticSeverity(StrEnum): 

27 ERROR = "error" 

28 WARNING = "warning" 

29 INFO = "info" 

30 

31 

32class ScheduleDiagnosticCode(StrEnum): 

33 GAP_IS_OFF = "gap_is_off" 

34 INVALID_DAYS = "invalid_days" 

35 MISSING_SOURCE_SCENARIO = "missing_source_scenario" 

36 OVERLAPPING_RULES = "overlapping_rules" 

37 SOURCE_DIFFERENT_FLOWSHEET = "source_different_flowsheet" 

38 SOURCE_NOT_SOLVED = "source_not_solved" 

39 SOURCE_LONGER_THAN_WEEK = "source_longer_than_week" 

40 

41 

42class ScheduleValidationStatus(StrEnum): 

43 VALID = "valid" 

44 INVALID = "invalid"