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