From 56b021398dba37fa56a8e89aab9b560b4332a81a Mon Sep 17 00:00:00 2001 From: Stefano Assenzo <68437687+assenzostefano@users.noreply.github.com> Date: Tue, 24 Jan 2023 14:57:16 +0000 Subject: [PATCH 1/2] Now reads classrooms correctly and uploads them to MongoDB --- .gitignore | 3 +- src/events/school_time/update_time_school.py | 134 ++++++++++++++++++- 2 files changed, 132 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index ab905e8..ff3258d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ geckodriver.log all.log __pycache__ test.py -school_time.xlsx \ No newline at end of file +school_time.xlsx +venv \ No newline at end of file diff --git a/src/events/school_time/update_time_school.py b/src/events/school_time/update_time_school.py index 8ebbbe3..e6a4745 100644 --- a/src/events/school_time/update_time_school.py +++ b/src/events/school_time/update_time_school.py @@ -42,204 +42,252 @@ def update_time_school(): { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, ], "Tuesday": [ { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, ], "Wednesday": [ { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, ], "Thursday": [ { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, ], "Friday": [ { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, ], "Saturday": [ { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, { "Subject": "null", "Teacher": "null", + "Room": "null", }, ], } @@ -249,10 +297,14 @@ def update_time_school(): x = collection_archive.insert_one(mydict) # Add collection on collection (archive-school-time-table) check_repeat = 0 check_repeat_teacher = 0 + check_repeat_room = 0 dont_repeat = 0 dont_repeat_teacher = 0 + dont_repeat_room = 0 gagaga_teacher = 0 + gagaga_room = 0 number_teacher = 1 + number_room = 1 number = 1 current_day = None day_counter = 0 @@ -270,12 +322,13 @@ def update_time_school(): day = str(ws.cell(row=i, column=3).value) # Get day from excel file 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(room) if dont_repeat == 9: - check_repeat += 1 # 13 + check_repeat += 1 if check_repeat == 5: check_repeat = 0 dont_repeat = 0 - #number = 1 else: if day == "None": if school_subject == 0: #If school subject is 0, add "null" in MongoDB @@ -409,7 +462,7 @@ def update_time_school(): collection_archive.update_one( { "_id": ObjectId(array_document_archive_school_time_table)}, { "$set": { - "School Subject." + array_test[0] + "." + str(gagaga)+ ".Subject": school_subject, + "School Subject." + array_test[0] + "." + str(gagaga_teacher)+ ".Teacher": teacher, } } ) @@ -439,7 +492,7 @@ def update_time_school(): collection_archive.update_one( { "_id": ObjectId(array_document_archive_school_time_table)}, { "$set": { - "School Subject." + array_test[0] + "." + str(gagaga)+ ".Subject": school_subject, + "School Subject." + array_test[0] + "." + str(gagaga_teacher)+ ".Teacher": teacher, } } ) @@ -451,4 +504,77 @@ def update_time_school(): if gagaga_teacher == 8: gagaga_teacher = 0 + #Search room school + if dont_repeat_room == 9: + check_repeat_room += 1 + if check_repeat_room == 5: + check_repeat_room = 0 + dont_repeat_room = 0 + else: + if day == "None": + if room == 0: + number_room += 1 + gagaga_room += 1 + dont_repeat_room += 1 + if number_room == 9: + number_room = 1 + if gagaga_room == 9: + gagaga_room = 0 + else: + find_document_school_time_table = list(collection.find({}, {"Date": long_date})) + find_document_archive_school_time_table = list(collection_archive.find({}, {"Date": long_date})) + array_document_school_time_table = find_document_school_time_table[0]["_id"] + array_document_archive_school_time_table = find_document_archive_school_time_table[0]["_id"] + collection.update_one( + { "_id": ObjectId(array_document_school_time_table)}, + { "$set": { + "School Subject." + array_test[0] + "." + str(gagaga_room) + ".Room": room, + } + } + ) + collection_archive.update_one( + { "_id": ObjectId(array_document_archive_school_time_table)}, + { "$set": { + "School Subject." + array_test[0] + "." + str(gagaga_room)+ ".Room": room, + } + } + ) + number_room += 1 + gagaga_room += 1 + dont_repeat_room += 1 + if number_room == 9: + number_room = 1 + if gagaga_room == 8: + gagaga_room = 0 + else: + datetime_obj = datetime.datetime.strptime(day, "%Y-%m-%d %H:%M:%S").strftime("%d %m %Y") + convert_date_to_day = datetime.datetime.strptime(datetime_obj, '%d %m %Y').strftime('%A') + array_test = [] + array_test.append(convert_date_to_day) + find_document_school_time_table = list(collection.find({}, {"Date": long_date})) + find_document_archive_school_time_table = list(collection_archive.find({}, {"Date": long_date})) + array_document_school_time_table = find_document_school_time_table[0]["_id"] + array_document_archive_school_time_table = find_document_archive_school_time_table[0]["_id"] + collection.update_one( + { "_id": ObjectId(array_document_school_time_table)}, + { "$set": { + "School Subject." + array_test[0] + "." + str(gagaga_room)+ ".Room": room, + } + } + ) + collection_archive.update_one( + { "_id": ObjectId(array_document_archive_school_time_table)}, + { "$set": { + "School Subject." + array_test[0] + "." + str(gagaga_room)+ ".Room": room, + } + } + ) + number_room += 1 + gagaga_room += 1 + dont_repeat_room += 1 + if number_room == 9: + number_room = 1 + if gagaga_room == 8: + gagaga_room = 0 + update_time_school() \ No newline at end of file From 88a5bcdb33abad7af962534d9309671692f51b81 Mon Sep 17 00:00:00 2001 From: Stefano Assenzo <68437687+assenzostefano@users.noreply.github.com> Date: Tue, 24 Jan 2023 15:10:19 +0000 Subject: [PATCH 2/2] Little test --- src/events/school_time/discord_bot.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/events/school_time/discord_bot.py b/src/events/school_time/discord_bot.py index afb29e0..893b4b3 100644 --- a/src/events/school_time/discord_bot.py +++ b/src/events/school_time/discord_bot.py @@ -11,9 +11,7 @@ load_dotenv() # Load .env file DISCORD_TOKEN = os.getenv('DISCORD_TOKEN') # Discord token PASSWORD_MONGODB = os.getenv('PASSWORD_MONGODB') # Password for MongoDB URL_MONGODB = os.getenv('URL_MONGODB') # URL for MongoDB -mongo_url = "mongodb+srv://elci:" + \ - urllib.parse.quote_plus(PASSWORD_MONGODB) + \ - URL_MONGODB # URL for MongoDB (with password) +mongo_url = "mongodb+srv://elci:" + urllib.parse.quote_plus(PASSWORD_MONGODB) + URL_MONGODB # URL for MongoDB (with password) client = pymongo.MongoClient(mongo_url) # Connect to MongoDB database = client["website-class"] # Database name # Collection school time table current @@ -36,7 +34,7 @@ async def orario(ctx): # Send a message on channel #general with the subject found and the index of the subject channel = bot.get_channel(1063753802638954519).send("bot is online") await ctx.send(f"Subject found: {subject['Subject']} at index: {i}") - + print(f"Subject: {subject['Subject'], Teacher: {subject['Teacher'], Room: {subject['Room']") @bot.command() async def testpy(ctx):