76 lines
1.4 KiB
Python
76 lines
1.4 KiB
Python
from collections import defaultdict
|
|
|
|
|
|
def format_schedule(data):
|
|
|
|
rasp = data.get("rasp", [])
|
|
|
|
if not rasp:
|
|
return "🎉 Сегодня занятий нет."
|
|
|
|
|
|
days = defaultdict(list)
|
|
|
|
|
|
for lesson in rasp:
|
|
|
|
days[
|
|
lesson["день_недели"]
|
|
].append(lesson)
|
|
|
|
|
|
text = ""
|
|
|
|
|
|
for day, lessons in days.items():
|
|
|
|
text += f"\n📅 {day}\n\n"
|
|
|
|
|
|
for item in sorted(
|
|
lessons,
|
|
key=lambda x: x["номерЗанятия"]
|
|
):
|
|
|
|
number = item.get(
|
|
"номерЗанятия",
|
|
"?"
|
|
)
|
|
|
|
start = item.get(
|
|
"начало",
|
|
""
|
|
)
|
|
|
|
end = item.get(
|
|
"конец",
|
|
""
|
|
)
|
|
|
|
subject = item.get(
|
|
"дисциплина",
|
|
"Без названия"
|
|
)
|
|
|
|
teacher = item.get(
|
|
"преподаватель",
|
|
"-"
|
|
)
|
|
|
|
room = item.get(
|
|
"аудитория",
|
|
"-"
|
|
)
|
|
|
|
|
|
text += (
|
|
f"{number}️⃣ "
|
|
f"{start}-{end}\n"
|
|
f"📘 {subject}\n"
|
|
f"👤 {teacher}\n"
|
|
f"🏫 {room}\n\n"
|
|
"────────────\n\n"
|
|
)
|
|
|
|
|
|
return text |