From 607d3715348eb94620ea3e1dace2a10721c1a57d Mon Sep 17 00:00:00 2001 From: Stefano Assenzo Date: Fri, 6 Jan 2023 18:33:24 +0000 Subject: [PATCH] Reordering comments and functions --- src/events/school_time/email_read.py | 4 +- src/events/school_time/update_time_school.py | 201 ++++++++++--------- 2 files changed, 105 insertions(+), 100 deletions(-) diff --git a/src/events/school_time/email_read.py b/src/events/school_time/email_read.py index 3e706a1..9c5c701 100644 --- a/src/events/school_time/email_read.py +++ b/src/events/school_time/email_read.py @@ -1,8 +1,8 @@ -import os -from imbox import Imbox from dotenv import load_dotenv +from imbox import Imbox import traceback import time +import os # Load .env file load_dotenv() diff --git a/src/events/school_time/update_time_school.py b/src/events/school_time/update_time_school.py index f963b3b..313a7d6 100644 --- a/src/events/school_time/update_time_school.py +++ b/src/events/school_time/update_time_school.py @@ -4,6 +4,7 @@ import openpyxl as xl import datetime import pymongo import urllib +import time import os load_dotenv() #Load .env file @@ -15,106 +16,110 @@ database = client["website-class"] #Database name collection = database["school-time-table"] #Collection school time table current collection_archive = database["archive-school-time-table"] #Collection school time table archive -x = collection.delete_many({}) #Delete all documents in collection (school-time-table) +def recheck(): + time.sleep(10) + update_time_school() -# Load excel file -namefile_xlsx = "attachments/school_time.xlsx" -workbook = xl.load_workbook(filename=namefile_xlsx) -ws = workbook.active +def update_time_school(): + # Load excel file + namefile_xlsx = "attachments/school_time.xlsx" + workbook = xl.load_workbook(filename=namefile_xlsx) + ws = workbook.active -#Date -current_time = datetime.datetime.now() -day = str(current_time.day) -month = str(current_time.month) -year = str(current_time.year) -hour = str(current_time.hour) -minute = str(current_time.minute) -long_date = day + "-" + month + "-" + year + " " + hour + ":" + minute + #Date + current_time = datetime.datetime.now() + day = str(current_time.day) + month = str(current_time.month) + year = str(current_time.year) + hour = str(current_time.hour) + minute = str(current_time.minute) + long_date = day + "-" + month + "-" + year + " " + hour + ":" + minute -#Create collection -mydict = { - "Date": long_date, - "School Subject": [], - "Teacher": [], -} -x = collection.insert_one(mydict) # Add collection on collection (school-time-table) -x = collection_archive.insert_one(mydict) # Add collection on collection (archive-school-time-table) + #Create collection + mydict = { + "Date": long_date, + "School Subject": [], + "Teacher": [], + } + x = collection.delete_many({}) #Delete all documents in collection (school-time-table) + x = collection.insert_one(mydict) # Add collection on collection (school-time-table) + x = collection_archive.insert_one(mydict) # Add collection on collection (archive-school-time-table) -#Search my class in excel file and add in MongoDB -for row in range (1, 100): - # column B ~ column F - for column in range (1, 100): - cell = ws.cell(row, column) - if cell.value == "2elci": - ws.cell(row=cell.row, column=column).value - #Search school time table - for i in range(4,80): - school_subject = ws.cell(row=i, column=column).value # Get school subject from excel file - if school_subject == 0: #If school subject is 0, add "null" in MongoDB - find_document_username = list(collection.find({}, {"Date": long_date})) #Find document in MongoDB - array_username = find_document_username[0]["_id"] - collection.update_one( # Add "null" in MongoDB beacause school subject is 0 - { "_id": ObjectId(array_username)}, - { - "$push": { "School Subject": "null" } - } - ) - collection_archive.update_one( # Add "null" in MongoDB beacause school subject is 0 - { "_id": ObjectId(array_username)}, - { - "$push": { "School Subject": "null" } - } - ) - else: #If school subject is not 0, add school subject in MongoDB - #remove_things_in_front = school_subject.split(' ', 1)[1] - find_document_username = list(collection.find({}, {"Date": long_date})) #Find document in MongoDB - array_username = find_document_username[0]["_id"] - collection.update_one( # Add school subject in MongoDB beacause school subject is not 0 - { "_id": ObjectId(array_username)}, - { - "$push": { "School Subject": school_subject } - } - ) - collection_archive.update_one( # Add school subject in MongoDB beacause school subject is not 0 - { "_id": ObjectId(array_username)}, - { - "$push": { "School Subject": school_subject } - } - ) - - #Search teacher - for i in range(4, 80): - teacher = ws.cell(row=i, column=column+1).value - column = column - if teacher == 0: #If teacher is 0, add "null" in MongoDB - find_document_username = list(collection.find({}, {"Date": long_date})) #Find document in MongoDB - array_username = find_document_username[0]["_id"] - collection.update_one( # Add "null" in MongoDB beacause teacher is 0 - { "_id": ObjectId(array_username)}, - { - "$push": { "Teacher": "null" } - } - ) - collection_archive.update_one( # Add "null" in MongoDB beacause teacher is 0 - { "_id": ObjectId(array_username)}, - { - "$push": { "Teacher": teacher } - } - ) - else: #If teacher is not 0, add teacher in MongoDB - find_document_username = list(collection.find({}, {"Date": long_date})) - array_username = find_document_username[0]["_id"] - collection.update_one( # Add teacher in MongoDB beacause teacher is not 0 - { "_id": ObjectId(array_username)}, - { - "$push": { "Teacher": teacher } - } - ) - collection_archive.update_one( # Add teacher in MongoDB beacause teacher is not 0 - { "_id": ObjectId(array_username)}, - { - "$push": { "Teacher": teacher } - } - ) + #Search my class in excel file and add in MongoDB + for row in range (1, 100): + # column B ~ column F + for column in range (1, 100): + cell = ws.cell(row, column) + if cell.value == "2elci": + ws.cell(row=cell.row, column=column).value + #Search school time table + for i in range(4,80): + school_subject = ws.cell(row=i, column=column).value # Get school subject from excel file + if school_subject == 0: #If school subject is 0, add "null" in MongoDB + find_document_username = list(collection.find({}, {"Date": long_date})) #Find document in MongoDB + array_username = find_document_username[0]["_id"] + collection.update_one( # Add "null" in MongoDB beacause school subject is 0 + { "_id": ObjectId(array_username)}, + { + "$push": { "School Subject": "null" } + } + ) + collection_archive.update_one( # Add "null" in MongoDB beacause school subject is 0 + { "_id": ObjectId(array_username)}, + { + "$push": { "School Subject": "null" } + } + ) + else: #If school subject is not 0, add school subject in MongoDB + #remove_things_in_front = school_subject.split(' ', 1)[1] + find_document_username = list(collection.find({}, {"Date": long_date})) #Find document in MongoDB + array_username = find_document_username[0]["_id"] + collection.update_one( # Add school subject in MongoDB beacause school subject is not 0 + { "_id": ObjectId(array_username)}, + { + "$push": { "School Subject": school_subject } + } + ) + collection_archive.update_one( # Add school subject in MongoDB beacause school subject is not 0 + { "_id": ObjectId(array_username)}, + { + "$push": { "School Subject": school_subject } + } + ) -os.remove(namefile_xlsx) #Delete excel file \ No newline at end of file + #Search teacher + for i in range(4, 80): + teacher = ws.cell(row=i, column=column+1).value + column = column + if teacher == 0: #If teacher is 0, add "null" in MongoDB + find_document_username = list(collection.find({}, {"Date": long_date})) #Find document in MongoDB + array_username = find_document_username[0]["_id"] + collection.update_one( # Add "null" in MongoDB beacause teacher is 0 + { "_id": ObjectId(array_username)}, + { + "$push": { "Teacher": "null" } + } + ) + collection_archive.update_one( # Add "null" in MongoDB beacause teacher is 0 + { "_id": ObjectId(array_username)}, + { + "$push": { "Teacher": teacher } + } + ) + else: #If teacher is not 0, add teacher in MongoDB + find_document_username = list(collection.find({}, {"Date": long_date})) + array_username = find_document_username[0]["_id"] + collection.update_one( # Add teacher in MongoDB beacause teacher is not 0 + { "_id": ObjectId(array_username)}, + { + "$push": { "Teacher": teacher } + } + ) + collection_archive.update_one( # Add teacher in MongoDB beacause teacher is not 0 + { "_id": ObjectId(array_username)}, + { + "$push": { "Teacher": teacher } + } + ) + + os.remove(namefile_xlsx) #Delete excel file \ No newline at end of file