From 76af099702d5726ad240464992f56a9b5c2991f8 Mon Sep 17 00:00:00 2001 From: Stefano Assenzo Date: Sat, 28 Jan 2023 15:28:50 +0000 Subject: [PATCH] Now send a screenshot of the timetable when you find Italian language in the school time table and I have fixed the school time table so no one has trouble reading it --- app.py | 4 +- src/bot/discord/discord_bot.py | 25 +- src/events/school_time/update_time_school.py | 11 +- static/css/index.css | 69 ++- templates/orario/orario.html | 530 ++++++++++--------- 5 files changed, 358 insertions(+), 281 deletions(-) diff --git a/app.py b/app.py index 3076f40..a8bbc01 100644 --- a/app.py +++ b/app.py @@ -38,7 +38,9 @@ def orario(): response = Request(url, headers={"User-Agent": "Mozilla/5.0"}) webpage = urlopen(response).read() dict = list(json.loads(webpage)) - return render_template('orario/orario.html', data=dict) + number = str(range(0,7)) + day = str(["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]) + return render_template('orario/orario.html', data=dict, number=number, day=day) @app.route('/calendario') def calendario(): diff --git a/src/bot/discord/discord_bot.py b/src/bot/discord/discord_bot.py index 50c6625..d8eb48a 100644 --- a/src/bot/discord/discord_bot.py +++ b/src/bot/discord/discord_bot.py @@ -1,14 +1,20 @@ from dotenv import load_dotenv from bson.objectid import ObjectId +from selenium.webdriver.firefox.options import Options +from selenium.webdriver.common.by import By +from selenium import webdriver + from discord.ext import tasks, commands from discord.commands.context import ApplicationContext from discord.commands import Option import discord import pymongo import urllib.parse +from selenium import webdriver import datetime import os +import time load_dotenv() # Load .env file DISCORD_TOKEN = os.getenv('DISCORD_TOKEN') # Discord token @@ -40,15 +46,32 @@ async def on_ready(): @tasks.loop(seconds=1) async def orario(): documents = collection.find() - + send_screenshot = 0 # Iterate through the documents for document in documents: for day in document['School Subject']: for i, subject in enumerate(document['School Subject'][day]): if subject['Subject'] == "CALF1 LINGUA ITALIANA": # Send a message on channel #general with the subject found and the index of the subject + options = Options() # Set options + options.add_argument("--headless") # Headless mode (so you don't see the browser) + options.add_argument('--disable-gpu') # Disable GPU + if send_screenshot == 0: + driver = webdriver.Firefox(options=options) + driver.get('http://127.0.0.1:4999/orario') + time.sleep(5) + + driver.get_screenshot_as_file("screenshot.png") + driver.quit() + await channel.send(file=discord.File('screenshot.png')) + os.remove("screenshot.png") + send_screenshot += 1 + else: + pass channel = bot.get_channel(1063753802638954519) await channel.send(f"Day: {day}, Hour school: {i}, Subject found: {subject['Subject']} at index: {i}") + send_screenshot = 0 + @bot.slash_command(name='change_school_time', description='Change school time') async def change_school_time( diff --git a/src/events/school_time/update_time_school.py b/src/events/school_time/update_time_school.py index 5911996..1749be4 100644 --- a/src/events/school_time/update_time_school.py +++ b/src/events/school_time/update_time_school.py @@ -371,7 +371,6 @@ def update_time_school(): school_subject = ws.cell(row=i, column=column).value # Get school subject from excel file teacher = ws.cell(row=i, column=column+1).value room = ws.cell(row=i, column=column+2).value - print(school_subject) if dont_repeat == 9: check_repeat += 1 if check_repeat == 5: @@ -629,19 +628,21 @@ def update_time_school(): if school_subject == "CEAM EDUCAZIONE ATTIVITA' MOTORIE" or school_subject == "CEAM EDUCAZIONE ATTIVITA' MOTORIE": for c in range(1,100): search_motoria = ws.cell(row=i, column=c).value + #print(search_motoria) if search_motoria == "CEAM EDUCAZIONE ATTIVITA' MOTORIE" or search_motoria == "CEAM EDUCAZIONE ATTIVITA' MOTORIE": if c == column: - print("Non valido") - print("Row " + str(i) + " Column " + str(c) + " is " + school_subject) + pass else: search_class = ws.cell(row=3, column=c).value + print(search_class) + print(gagaga_room) collection.update_one( { "_id": ObjectId(array_document_school_time_table)}, { "$set": { - "School Subject." + array_test[0] + "." + str(gagaga_room)+ ".PE with": search_class, + "School Subject." + array_test[0] + "." + str(gagaga_room-1)+ ".PE with": search_class, } } ) else: - print("") + pass update_time_school() \ No newline at end of file diff --git a/static/css/index.css b/static/css/index.css index 0f05684..e62fae7 100644 --- a/static/css/index.css +++ b/static/css/index.css @@ -1,35 +1,54 @@ -.styled-table { - border-collapse: collapse; - margin: 25px 0; - font-size: 0.9em; - font-family: sans-serif; - min-width: 400px; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.15); + +.ExcelTable2007 { + border: 1px solid #B0CBEF; + border-width: 1px 0px 0px 1px; + font-size: 11pt; + font-family: Calibri; + font-weight: 100; + border-spacing: 0px; + border-collapse: collapse; + font-family: 'Roboto Slab', serif; } -.styled-table thead tr { - background-color: #009879; - color: #ffffff; - text-align: left; -} -.styled-table th, -.styled-table td { - padding: 12px 15px; +.ExcelTable2007 TH { + background-image: url(excel-2007-header-bg.gif); + background-repeat: repeat-x; + font-weight: normal; + font-size: 14px; + border: 1px solid #9EB6CE; + border-width: 0px 1px 1px 0px; + height: 17px; + font-family: 'Roboto Slab', serif; } -.styled-table tbody tr { - border-bottom: 1px solid #dddddd; +.ExcelTable2007 TD { + + border: 0px; + background-color: white; + padding: 10px 10px 10px 10px; + border: 1px solid #D0D7E5; + border-width: 0px 1px 1px 0px; + font-family: 'Roboto Slab', serif; } -.styled-table tbody tr:nth-of-type(even) { - background-color: #f3f3f3; +.ExcelTable2007 TD B { + border: 0px; + background-color: white; + font-weight: bold; + font-family: 'Roboto Slab', serif; + zoom: 50%; } -.styled-table tbody tr:last-of-type { - border-bottom: 2px solid #009879; +.ExcelTable2007 TD.heading { + background-color: #E4ECF7; + text-align: center; + border: 1px solid #9EB6CE; + border-width: 0px 1px 1px 0px; + font-family: 'Roboto Slab', serif; } -.styled-table tbody tr.active-row { - font-weight: bold; - color: #009879; -} \ No newline at end of file +.ExcelTable2007 TH.heading { + background-image: url(excel-2007-header-left.gif); + background-repeat: none; + font-family: 'Roboto Slab', serif; +} diff --git a/templates/orario/orario.html b/templates/orario/orario.html index 3f2927c..bd35e02 100644 --- a/templates/orario/orario.html +++ b/templates/orario/orario.html @@ -1,260 +1,292 @@ + {% block styles %} {% endblock %} - - - - - - - - - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - - - {% for i in data %} - - - - - - - {% endfor %} - +
LunedìMartedìMercoledìGiovedìVenerdìSabato
{{ i['School Subject']['Monday'][0]['Subject'] }}{{ i['School Subject']['Tuesday'][0]['Subject'] }}{{ i['School Subject']['Wednesday'][0]['Subject'] }}{{ i['School Subject']['Thursday'][0]['Subject'] }}{{ i['School Subject']['Friday'][0]['Subject'] }}{{ i['School Subject']['Saturday'][0]['Subject'] }}
{{ i['School Subject']['Monday'][0]['Teacher'] }}{{ i['School Subject']['Tuesday'][0]['Teacher'] }}{{ i['School Subject']['Wednesday'][0]['Teacher'] }}{{ i['School Subject']['Thursday'][0]['Teacher'] }}{{ i['School Subject']['Friday'][0]['Teacher'] }}{{ i['School Subject']['Saturday'][0]['Teacher'] }}
{{ i['School Subject']['Monday'][0]['Room'] }}{{ i['School Subject']['Tuesday'][0]['Room'] }}{{ i['School Subject']['Wednesday'][0]['Room'] }}{{ i['School Subject']['Thursday'][0]['Room'] }}{{ i['School Subject']['Friday'][0]['Room'] }}{{ i['School Subject']['Saturday'][0]['Room'] }}
{{ i['School Subject']['Monday'][1]['Subject'] }}{{ i['School Subject']['Tuesday'][1]['Subject'] }}{{ i['School Subject']['Wednesday'][1]['Subject'] }}{{ i['School Subject']['Thursday'][1]['Subject'] }}{{ i['School Subject']['Friday'][1]['Subject'] }}{{ i['School Subject']['Saturday'][1]['Subject'] }}
{{ i['School Subject']['Monday'][1]['Teacher'] }}{{ i['School Subject']['Tuesday'][1]['Teacher'] }}{{ i['School Subject']['Wednesday'][1]['Teacher'] }}{{ i['School Subject']['Thursday'][1]['Teacher'] }}{{ i['School Subject']['Friday'][1]['Teacher'] }}{{ i['School Subject']['Saturday'][1]['Teacher'] }}
{{ i['School Subject']['Monday'][1]['Room'] }}{{ i['School Subject']['Tuesday'][1]['Room'] }}{{ i['School Subject']['Wednesday'][1]['Room'] }}{{ i['School Subject']['Thursday'][1]['Room'] }}{{ i['School Subject']['Friday'][1]['Room'] }}{{ i['School Subject']['Saturday'][1]['Room'] }}
{{ i['School Subject']['Monday'][2]['Subject'] }}{{ i['School Subject']['Tuesday'][2]['Subject'] }}{{ i['School Subject']['Wednesday'][2]['Subject'] }}{{ i['School Subject']['Thursday'][2]['Subject'] }}{{ i['School Subject']['Friday'][2]['Subject'] }}{{ i['School Subject']['Saturday'][2]['Subject'] }}
{{ i['School Subject']['Monday'][2]['Teacher'] }}{{ i['School Subject']['Tuesday'][2]['Teacher'] }}{{ i['School Subject']['Wednesday'][2]['Teacher'] }}{{ i['School Subject']['Thursday'][2]['Teacher'] }}{{ i['School Subject']['Friday'][2]['Teacher'] }}{{ i['School Subject']['Saturday'][2]['Teacher'] }}
{{ i['School Subject']['Monday'][2]['Room'] }}{{ i['School Subject']['Tuesday'][2]['Room'] }}{{ i['School Subject']['Wednesday'][2]['Room'] }}{{ i['School Subject']['Thursday'][2]['Room'] }}{{ i['School Subject']['Friday'][2]['Room'] }}{{ i['School Subject']['Saturday'][2]['Room'] }}
{{ i['School Subject']['Monday'][3]['Subject'] }}{{ i['School Subject']['Tuesday'][3]['Subject'] }}{{ i['School Subject']['Wednesday'][3]['Subject'] }}{{ i['School Subject']['Thursday'][3]['Subject'] }}{{ i['School Subject']['Friday'][3]['Subject'] }}{{ i['School Subject']['Saturday'][3]['Subject'] }}
{{ i['School Subject']['Monday'][3]['Teacher'] }}{{ i['School Subject']['Tuesday'][3]['Teacher'] }}{{ i['School Subject']['Wednesday'][3]['Teacher'] }}{{ i['School Subject']['Thursday'][3]['Teacher'] }}{{ i['School Subject']['Friday'][3]['Teacher'] }}{{ i['School Subject']['Saturday'][3]['Teacher'] }}
{{ i['School Subject']['Monday'][3]['Room'] }}{{ i['School Subject']['Tuesday'][3]['Room'] }}{{ i['School Subject']['Wednesday'][3]['Room'] }}{{ i['School Subject']['Thursday'][3]['Room'] }}{{ i['School Subject']['Friday'][3]['Room'] }}{{ i['School Subject']['Saturday'][3]['Room'] }}
{{ i['School Subject']['Monday'][4]['Subject'] }}{{ i['School Subject']['Tuesday'][4]['Subject'] }}{{ i['School Subject']['Wednesday'][4]['Subject'] }}{{ i['School Subject']['Thursday'][4]['Subject'] }}{{ i['School Subject']['Friday'][4]['Subject'] }}{{ i['School Subject']['Saturday'][4]['Subject'] }}
{{ i['School Subject']['Monday'][4]['Teacher'] }}{{ i['School Subject']['Tuesday'][4]['Teacher'] }}{{ i['School Subject']['Wednesday'][4]['Teacher'] }}{{ i['School Subject']['Thursday'][4]['Teacher'] }}{{ i['School Subject']['Friday'][4]['Teacher'] }}{{ i['School Subject']['Saturday'][4]['Teacher'] }}
{{ i['School Subject']['Monday'][4]['Room'] }}{{ i['School Subject']['Tuesday'][4]['Room'] }}{{ i['School Subject']['Wednesday'][4]['Room'] }}{{ i['School Subject']['Thursday'][4]['Room'] }}{{ i['School Subject']['Friday'][4]['Room'] }}{{ i['School Subject']['Saturday'][4]['Room'] }}
{{ i['School Subject']['Monday'][5]['Subject'] }}{{ i['School Subject']['Tuesday'][5]['Subject'] }}{{ i['School Subject']['Wednesday'][5]['Subject'] }}{{ i['School Subject']['Thursday'][5]['Subject'] }}{{ i['School Subject']['Friday'][5]['Subject'] }}{{ i['School Subject']['Saturday'][5]['Subject'] }}
{{ i['School Subject']['Monday'][5]['Teacher'] }}{{ i['School Subject']['Tuesday'][5]['Teacher'] }}{{ i['School Subject']['Wednesday'][5]['Teacher'] }}{{ i['School Subject']['Thursday'][5]['Teacher'] }}{{ i['School Subject']['Friday'][5]['Teacher'] }}{{ i['School Subject']['Saturday'][5]['Teacher'] }}
{{ i['School Subject']['Monday'][5]['Room'] }}{{ i['School Subject']['Tuesday'][5]['Room'] }}{{ i['School Subject']['Wednesday'][5]['Room'] }}{{ i['School Subject']['Thursday'][5]['Room'] }}{{ i['School Subject']['Friday'][5]['Room'] }}{{ i['School Subject']['Saturday'][5]['Room'] }}
{{ i['School Subject']['Monday'][6]['Subject'] }}{{ i['School Subject']['Tuesday'][6]['Subject'] }}{{ i['School Subject']['Wednesday'][6]['Subject'] }}{{ i['School Subject']['Thursday'][6]['Subject'] }}{{ i['School Subject']['Friday'][6]['Subject'] }}{{ i['School Subject']['Saturday'][6]['Subject'] }}
{{ i['School Subject']['Monday'][6]['Teacher'] }}{{ i['School Subject']['Tuesday'][6]['Teacher'] }}{{ i['School Subject']['Wednesday'][6]['Teacher'] }}{{ i['School Subject']['Thursday'][6]['Teacher'] }}{{ i['School Subject']['Friday'][6]['Teacher'] }}{{ i['School Subject']['Saturday'][6]['Teacher'] }}
{{ i['School Subject']['Monday'][6]['Room'] }}{{ i['School Subject']['Tuesday'][6]['Room'] }}{{ i['School Subject']['Wednesday'][6]['Room'] }}{{ i['School Subject']['Thursday'][6]['Room'] }}{{ i['School Subject']['Friday'][6]['Room'] }}{{ i['School Subject']['Saturday'][6]['Room'] }}
{{ i['School Subject']['Monday'][7]['Subject'] }}{{ i['School Subject']['Tuesday'][7]['Subject'] }}{{ i['School Subject']['Wednesday'][7]['Subject'] }}{{ i['School Subject']['Thursday'][7]['Subject'] }}{{ i['School Subject']['Friday'][7]['Subject'] }}{{ i['School Subject']['Saturday'][7]['Subject'] }}
{{ i['School Subject']['Monday'][7]['Teacher'] }}{{ i['School Subject']['Tuesday'][7]['Teacher'] }}{{ i['School Subject']['Wednesday'][7]['Teacher'] }}{{ i['School Subject']['Thursday'][7]['Teacher'] }}{{ i['School Subject']['Friday'][7]['Teacher'] }}{{ i['School Subject']['Saturday'][7]['Teacher'] }}
{{ i['School Subject']['Monday'][7]['Room'] }}{{ i['School Subject']['Tuesday'][7]['Room'] }}{{ i['School Subject']['Wednesday'][7]['Room'] }}{{ i['School Subject']['Thursday'][7]['Room'] }}{{ i['School Subject']['Friday'][7]['Room'] }}{{ i['School Subject']['Saturday'][7]['Room'] }}
+ + + + + + + + + + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + + {% for i in data %} + + + + + + + {% endfor %} + + + {% for i in data %} + + + + + + + {% endfor %} + + + {% for i in data %} + + + + + + + {% endfor %} + + + {% for i in data %} + + + + + + + {% endfor %} + + + {% for i in data %} + + + + + + + {% endfor %} + + + {% for i in data %} + + + + + + + {% endfor %} + + + {% for i in data %} + + + + + + + {% endfor %} + +
LunedìMartedìMercoledìGiovedìVenerdìSabato
07:55{{ i['School Subject']['Monday'][0]['Subject'] }}{{ i['School Subject']['Tuesday'][0]['Subject'] }}{{ i['School Subject']['Wednesday'][0]['Subject'] }}{{ i['School Subject']['Thursday'][0]['Subject'] }}{{ i['School Subject']['Friday'][0]['Subject'] }}{{ i['School Subject']['Saturday'][0]['Subject'] }}
{{ i['School Subject']['Monday'][0]['Teacher'] }}{{ i['School Subject']['Tuesday'][0]['Teacher'] }}{{ i['School Subject']['Wednesday'][0]['Teacher'] }}{{ i['School Subject']['Thursday'][0]['Teacher'] }}{{ i['School Subject']['Friday'][0]['Teacher'] }}{{ i['School Subject']['Saturday'][0]['Teacher'] }}
08:55{{ i['School Subject']['Monday'][0]['Room'] }}{{ i['School Subject']['Tuesday'][0]['Room'] }}{{ i['School Subject']['Wednesday'][0]['Room'] }}{{ i['School Subject']['Thursday'][0]['Room'] }}{{ i['School Subject']['Friday'][0]['Room'] }}{{ i['School Subject']['Saturday'][0]['Room'] }}
08:55{{ i['School Subject']['Monday'][1]['Subject'] }}{{ i['School Subject']['Tuesday'][1]['Subject'] }}{{ i['School Subject']['Wednesday'][1]['Subject'] }}{{ i['School Subject']['Thursday'][1]['Subject'] }}{{ i['School Subject']['Friday'][1]['Subject'] }}{{ i['School Subject']['Saturday'][1]['Subject'] }}
{{ i['School Subject']['Monday'][1]['Teacher'] }}{{ i['School Subject']['Tuesday'][1]['Teacher'] }}{{ i['School Subject']['Wednesday'][1]['Teacher'] }}{{ i['School Subject']['Thursday'][1]['Teacher'] }}{{ i['School Subject']['Friday'][1]['Teacher'] }}{{ i['School Subject']['Saturday'][1]['Teacher'] }}
09:55{{ i['School Subject']['Monday'][1]['Room'] }}{{ i['School Subject']['Tuesday'][1]['Room'] }}{{ i['School Subject']['Wednesday'][1]['Room'] }}{{ i['School Subject']['Thursday'][1]['Room'] }}{{ i['School Subject']['Friday'][1]['Room'] }}{{ i['School Subject']['Saturday'][1]['Room'] }}
09:55{{ i['School Subject']['Monday'][2]['Subject'] }}{{ i['School Subject']['Tuesday'][2]['Subject'] }}{{ i['School Subject']['Wednesday'][2]['Subject'] }}{{ i['School Subject']['Thursday'][2]['Subject'] }}{{ i['School Subject']['Friday'][2]['Subject'] }}{{ i['School Subject']['Saturday'][2]['Subject'] }}
{{ i['School Subject']['Monday'][2]['Teacher'] }}{{ i['School Subject']['Tuesday'][2]['Teacher'] }}{{ i['School Subject']['Wednesday'][2]['Teacher'] }}{{ i['School Subject']['Thursday'][2]['Teacher'] }}{{ i['School Subject']['Friday'][2]['Teacher'] }}{{ i['School Subject']['Saturday'][2]['Teacher'] }}
10:55{{ i['School Subject']['Monday'][2]['Room'] }}{{ i['School Subject']['Tuesday'][2]['Room'] }}{{ i['School Subject']['Wednesday'][2]['Room'] }}{{ i['School Subject']['Thursday'][2]['Room'] }}{{ i['School Subject']['Friday'][2]['Room'] }}{{ i['School Subject']['Saturday'][2]['Room'] }}
11:10{{ i['School Subject']['Monday'][3]['Subject'] }}{{ i['School Subject']['Tuesday'][3]['Subject'] }}{{ i['School Subject']['Wednesday'][3]['Subject'] }}{{ i['School Subject']['Thursday'][3]['Subject'] }}{{ i['School Subject']['Friday'][3]['Subject'] }}{{ i['School Subject']['Saturday'][3]['Subject'] }}
{{ i['School Subject']['Monday'][3]['Teacher'] }}{{ i['School Subject']['Tuesday'][3]['Teacher'] }}{{ i['School Subject']['Wednesday'][3]['Teacher'] }}{{ i['School Subject']['Thursday'][3]['Teacher'] }}{{ i['School Subject']['Friday'][3]['Teacher'] }}{{ i['School Subject']['Saturday'][3]['Teacher'] }}
12:10{{ i['School Subject']['Monday'][3]['Room'] }}{{ i['School Subject']['Tuesday'][3]['Room'] }}{{ i['School Subject']['Wednesday'][3]['Room'] }}{{ i['School Subject']['Thursday'][3]['Room'] }}{{ i['School Subject']['Friday'][3]['Room'] }}{{ i['School Subject']['Saturday'][3]['Room'] }}
12:10{{ i['School Subject']['Monday'][4]['Subject'] }}{{ i['School Subject']['Tuesday'][4]['Subject'] }}{{ i['School Subject']['Wednesday'][4]['Subject'] }}{{ i['School Subject']['Thursday'][4]['Subject'] }}{{ i['School Subject']['Friday'][4]['Subject'] }}{{ i['School Subject']['Saturday'][4]['Subject'] }}
{{ i['School Subject']['Monday'][4]['Teacher'] }}{{ i['School Subject']['Tuesday'][4]['Teacher'] }}{{ i['School Subject']['Wednesday'][4]['Teacher'] }}{{ i['School Subject']['Thursday'][4]['Teacher'] }}{{ i['School Subject']['Friday'][4]['Teacher'] }}{{ i['School Subject']['Saturday'][4]['Teacher'] }}
13:10{{ i['School Subject']['Monday'][4]['Room'] }}{{ i['School Subject']['Tuesday'][4]['Room'] }}{{ i['School Subject']['Wednesday'][4]['Room'] }}{{ i['School Subject']['Thursday'][4]['Room'] }}{{ i['School Subject']['Friday'][4]['Room'] }}{{ i['School Subject']['Saturday'][4]['Room'] }}
13:10{{ i['School Subject']['Monday'][5]['Subject'] }}{{ i['School Subject']['Tuesday'][5]['Subject'] }}{{ i['School Subject']['Wednesday'][5]['Subject'] }}{{ i['School Subject']['Thursday'][5]['Subject'] }}{{ i['School Subject']['Friday'][5]['Subject'] }}{{ i['School Subject']['Saturday'][5]['Subject'] }}
{{ i['School Subject']['Monday'][5]['Teacher'] }}{{ i['School Subject']['Tuesday'][5]['Teacher'] }}{{ i['School Subject']['Wednesday'][5]['Teacher'] }}{{ i['School Subject']['Thursday'][5]['Teacher'] }}{{ i['School Subject']['Friday'][5]['Teacher'] }}{{ i['School Subject']['Saturday'][5]['Teacher'] }}
14:10{{ i['School Subject']['Monday'][5]['Room'] }}{{ i['School Subject']['Tuesday'][5]['Room'] }}{{ i['School Subject']['Wednesday'][5]['Room'] }}{{ i['School Subject']['Thursday'][5]['Room'] }}{{ i['School Subject']['Friday'][5]['Room'] }}{{ i['School Subject']['Saturday'][5]['Room'] }}
{{ i['School Subject']['Monday'][6]['Subject'] }}{{ i['School Subject']['Tuesday'][6]['Subject'] }}{{ i['School Subject']['Wednesday'][6]['Subject'] }}{{ i['School Subject']['Thursday'][6]['Subject'] }}{{ i['School Subject']['Friday'][6]['Subject'] }}{{ i['School Subject']['Saturday'][6]['Subject'] }}
{{ i['School Subject']['Monday'][6]['Teacher'] }}{{ i['School Subject']['Tuesday'][6]['Teacher'] }}{{ i['School Subject']['Wednesday'][6]['Teacher'] }}{{ i['School Subject']['Thursday'][6]['Teacher'] }}{{ i['School Subject']['Friday'][6]['Teacher'] }}{{ i['School Subject']['Saturday'][6]['Teacher'] }}
{{ i['School Subject']['Monday'][6]['Room'] }}{{ i['School Subject']['Tuesday'][6]['Room'] }}{{ i['School Subject']['Wednesday'][6]['Room'] }}{{ i['School Subject']['Thursday'][6]['Room'] }}{{ i['School Subject']['Friday'][6]['Room'] }}{{ i['School Subject']['Saturday'][6]['Room'] }}
{{ i['School Subject']['Monday'][7]['Subject'] }}{{ i['School Subject']['Tuesday'][7]['Subject'] }}{{ i['School Subject']['Wednesday'][7]['Subject'] }}{{ i['School Subject']['Thursday'][7]['Subject'] }}{{ i['School Subject']['Friday'][7]['Subject'] }}{{ i['School Subject']['Saturday'][7]['Subject'] }}
{{ i['School Subject']['Monday'][7]['Teacher'] }}{{ i['School Subject']['Tuesday'][7]['Teacher'] }}{{ i['School Subject']['Wednesday'][7]['Teacher'] }}{{ i['School Subject']['Thursday'][7]['Teacher'] }}{{ i['School Subject']['Friday'][7]['Teacher'] }}{{ i['School Subject']['Saturday'][7]['Teacher'] }}
{{ i['School Subject']['Monday'][7]['Room'] }}{{ i['School Subject']['Tuesday'][7]['Room'] }}{{ i['School Subject']['Wednesday'][7]['Room'] }}{{ i['School Subject']['Thursday'][7]['Room'] }}{{ i['School Subject']['Friday'][7]['Room'] }}{{ i['School Subject']['Saturday'][7]['Room'] }}
+ + {% for i in data %} + {% for c in number %} + {% for b in day %} + +

{{b + " " + c}}

+ {% endfor %} + {% endfor %} + {% endfor %} + \ No newline at end of file