Все примеры приводятся на ниже описанных данных:
{
"days": [
{
"id": 1,
"date": "2025-02-15",
"start": "09:00",
"end": "21:00"
},
{
"id": 2,
"date": "2025-02-16",
"start": "08:00",
"end": "22:00"
},
{
"id": 3,
"date": "2025-02-17",
"start": "09:00",
"end": "18:00"
},
{
"id": 4,
"date": "2025-02-18",
"start": "12:00",
"end": "23:00"
},
{
"id": 5,
"date": "2025-02-18",
"start": "09:00",
"end": "18:00"
}
],
"timeslots": [
{
"id": 1,
"day_id": 1,
"start": "17:30",
"end": "20:00"
},
{
"id": 2,
"day_id": 1,
"start": "09:00",
"end": "12:00"
},
{
"id": 3,
"day_id": 2,
"start": "14:30",
"end": "18:00"
},
{
"id": 4,
"day_id": 2,
"start": "09:30",
"end": "11:00"
},
{
"id": 5,
"day_id": 3,
"start": "12:30",
"end": "18:00"
},
{
"id": 6,
"day_id": 4,
"start": "10:00",
"end": "11:00"
},
{
"id": 7,
"day_id": 4,
"start": "11:30",
"end": "14:00"
},
{
"id": 8,
"day_id": 4,
"start": "14:00",
"end": "16:00"
},
{
"id": 9,
"day_id": 4,
"start": "17:00",
"end": "18:00"
}
]
}
Чтобы получить список занятых промежутков для указанной даты можно использовать аргумент busy, при этом передав флаг --date:
python main.py busy --date=2025-02-15После чего увидим следующий результат:
Все занятые промежутки для 2025-02-15
Начало: 2025-02-15 17:30:00
Конец: 2025-02-15 20:00:00
Начало: 2025-02-15 09:00:00
Конец: 2025-02-15 12:00:00Чтобы получить список свободного времени для указанной даты, можно воспользоваться аргументов free, передав флаг --date
python main.py free --date=2025-02-15Получаем вывод:
Свободное время для 2025-02-15:
С: 12:00:00
До: 17:30:00
С: 20:00:00
До: 21:00:00Чтобы проверить доступно-ли указанное время в указанную дату, используем аргумент check и передаем флаги --date и --time
python main.py check --date=2025-02-15 --time="12:00 13:00"Смотрим:
Время: 12:00:00 - 13:00:00
Для даты: 2025-02-15, свободно!Чтобы проверить можем-ли мы добавить в график выбранную продолжительность, используем аргумент duration и флаг --dur
python main.py duration --dur=3:30Смотрим вывод:
Дата: 2025-02-15
С: 12:00:00
До: 17:30:00
Дата: 2025-02-16
С: 11:00:00
До: 14:30:00
Дата: 2025-02-17
С: 09:00:00
До: 12:30:00
Дата: 2025-02-18Note
- [📄(🐍)]
parse.py- Файл для парсинга JSON с ручки и превращения его в удобный для обработки - [📄(🐍)]
main.py- Файл с обработкой аргументов и корень проекта - [📄(🐍)]
formated.py- Форматирование дат и времени в удобный формат - [📄(🐍)]
arg_handler.py- Классы-обработчики режимов работы - [📄(🐍)]
annotations.py- Файл с анотациями проекта - [📁]
test- Папка с тестами