Выполнены этапы 2, 3, 4

Дополнен план работ этапом 7 (покрытие тестами)
This commit is contained in:
ki.sagidullin
2026-04-07 00:59:57 +05:00
parent a8f47d29f6
commit 5d2b665fa6
4 changed files with 293 additions and 82 deletions

View File

@@ -28,19 +28,33 @@ OPERATORS = [
]
# 💖 ПРЕДПОЧТЕНИЯ ОПЕРАТОРОВ
# format: {имя_оператора: список_дней_или_смена}
# Формат: {имя_оператора: объект_предпочтений}
# Для создания предпочтений используйте класс OperatorPreferences из models.py
# Пример:
# from models import OperatorPreferences, DayOfWeek
# prefs = OperatorPreferences.create("Иванов") \
# .work_on_date(10) \
# .work_on_date(13) \
# .build()
# OPERATOR_PREFERENCES = {"Иванов": prefs}
# Для удобства, здесь приведены примеры создания предпочтений через словарь,
# который будет автоматически преобразован в объект OperatorPreferences в models.py.
# Это позволяет редактировать файл без знания Python, используя простые структуры данных.
OPERATOR_PREFERENCES = {
"Иванов": [10, 13], # 10 и 13 апреля
"Алексеев": "понедельник", # только понедельники
"Сидоров": [25, 26], # 25 и 26 апреля
"Козобородов": [2], # только смена 2 (11:3020:00)
"Трудяшкина": [4], # 4 апреля
"Петрова": [8, 29], # 8 и 29 апреля
"Иванов": {"dates": [10, 13]}, # 10 и 13 апреля
"Алексеев": {"day_of_week": "понедельник"}, # только понедельники
"Сидоров": {"dates": [25, 26]}, # 25 и 26 апреля
"Козобородов": {"shift": 2}, # только смена 2 (11:3020:00)
"Трудяшкина": {"dates": [4]}, # 4 апреля
"Петрова": {"dates": [8, 29]}, # 8 и 29 апреля
}
# 📝 ПОЯСНЕНИЯ ДЛЯ РЕДАКТИРОВАНИЯ:
# - Дни месяца указываются по числам: [10, 13] = 10 и 13 апреля
# - "понедельник" означает работать только в понедельник
# - Числа 0-3 в списках указывают на номер смены (0 = первая смена)
# - Дни месяца указываются в списке: {"dates": [10, 13]} = 10 и 13 апреля
# - "понедельник" (или "monday") означает работать только в понедельник
# - Число в "shift": 0-3 указывает на номер смены (0 = первая смена)
# - Для добавления/удаления дней меняйте списки в квадратных скобках
# - Для изменения имени оператора меняйте строку в OPERATORS
# - Для изменения имени оператора меняйте строку в OPERATORS
# - Для установки дня, когда оператор НЕ работает, используйте: {"off_dates": [5]}