Finaly fix auto update school time table and fix API for school time table!

This commit is contained in:
Stefano Assenzo
2022-12-27 17:19:04 +00:00
parent f9b9de9a3d
commit 74d1ef52c6
2 changed files with 130 additions and 47 deletions

View File

@ -13,6 +13,9 @@ mongo_url = "mongodb+srv://elci:" + urllib.parse.quote_plus(PASSWORD_MONGODB) +
client = pymongo.MongoClient(mongo_url) #Connect to MongoDB client = pymongo.MongoClient(mongo_url) #Connect to MongoDB
database = client["website-class"] #Database name database = client["website-class"] #Database name
collection = database["school-time-table"] collection = database["school-time-table"]
collection_archive = database["archive-school-time-table"]
x = collection.delete_many({})
#using read_excel() method to read our excel file and storing the same in the variable named "df " #using read_excel() method to read our excel file and storing the same in the variable named "df "
workbook = xl.load_workbook(filename="test.xlsx") workbook = xl.load_workbook(filename="test.xlsx")
@ -25,14 +28,14 @@ month = str(current_time.month)
year = str(current_time.year) year = str(current_time.year)
hour = str(current_time.hour) hour = str(current_time.hour)
minute = str(current_time.minute) minute = str(current_time.minute)
second = str(current_time.second) long_date = day + "-" + month + "-" + year + " " + hour + ":" + minute
long_date = day + "-" + month + "-" + year + " " + hour + ":" + minute + ":" + second
mydict = { mydict = {
"Date": long_date, "Date": long_date,
"School Subject": [], "School Subject": [],
"Teacher": [], "Teacher": [],
} }
x = collection.insert_one(mydict) x = collection.insert_one(mydict)
x = collection_archive.insert_one(mydict)
for row in range (1, 100): for row in range (1, 100):
# column B ~ column F # column B ~ column F
@ -48,30 +51,64 @@ for row in range (1, 100):
array_username = find_document_username[0]["_id"] array_username = find_document_username[0]["_id"]
collection.update_one( collection.update_one(
{ "_id": ObjectId(array_username)}, { "_id": ObjectId(array_username)},
{ {
"$push": { "School Subject": "null" } "$push": { "School Subject": "null" }
}) }
)
collection_archive.update_one(
{ "_id": ObjectId(array_username)},
{
"$push": { "School Subject": str(remove_things_in_front) }
}
)
else: else:
remove_things_in_front = school_subject.split(' ', 1)[1] remove_things_in_front = school_subject.split(' ', 1)[1]
find_document_username = list(collection.find({}, {"Date": long_date})) find_document_username = list(collection.find({}, {"Date": long_date}))
array_username = find_document_username[0]["_id"] array_username = find_document_username[0]["_id"]
collection.update_one( collection.update_one(
{ "_id": ObjectId(array_username)}, { "_id": ObjectId(array_username)},
{ {
"$push": { "School Subject": str(remove_things_in_front) } "$push": { "School Subject": str(remove_things_in_front) }
}) }
)
collection_archive.update_one(
{ "_id": ObjectId(array_username)},
{
"$push": { "School Subject": str(remove_things_in_front) }
}
)
#Search teacher #Search teacher
for i in range(4, 80): for i in range(4, 80):
teacher = ws.cell(row=i, column=column+1).value teacher = ws.cell(row=i, column=column+1).value
column = column column = column
if teacher == 0: if teacher == 0:
pass find_document_username = list(collection.find({}, {"Date": long_date}))
array_username = find_document_username[0]["_id"]
collection.update_one(
{ "_id": ObjectId(array_username)},
{
"$push": { "Teacher": "null" }
}
)
collection_archive.update_one(
{ "_id": ObjectId(array_username)},
{
"$push": { "Teacher": teacher }
}
)
else: else:
find_document_username = list(collection.find({}, {"Date": long_date})) find_document_username = list(collection.find({}, {"Date": long_date}))
array_username = find_document_username[0]["_id"] array_username = find_document_username[0]["_id"]
collection.update_one( collection.update_one(
{ "_id": ObjectId(array_username)}, { "_id": ObjectId(array_username)},
{ {
"$push": { "Teacher": teacher } "$push": { "Teacher": teacher }
}) }
)
collection_archive.update_one(
{ "_id": ObjectId(array_username)},
{
"$push": { "Teacher": teacher }
}
)

View File

@ -26,53 +26,99 @@ def api():
year = str(current_time.year) year = str(current_time.year)
hour = str(current_time.hour) hour = str(current_time.hour)
minute = str(current_time.minute) minute = str(current_time.minute)
long_date = day + "-" + month + "-" + year + hour + ":" + minute long_date = day + "-" + month + "-" + year + " " + hour + ":" + minute
collection_find_username = list(collection.find({}, {"Date": long_date ,"School Subject": 1,})) #Search school subject
array_username = collection_find_username[0]['School Subject'] collection_find_schoolsubject = list(collection.find({}, {"Date": long_date ,"School Subject": 1,}))
array_schoolsubject = collection_find_schoolsubject[0]['School Subject']
#Search teacher
collection_find_teacher = list(collection.find({}, {"Date": long_date ,"Teacher": 1,}))
array_teacher = collection_find_teacher[0]['Teacher']
test = { test = {
"subject" : { "subject" : {
"monday": { "monday": {
"Subject 1": array_username[0], "Subject 1": array_schoolsubject[0],
"Subject 2": array_username[1], "Subject 2": array_schoolsubject[1],
"Subject 3": array_username[2], "Subject 3": array_schoolsubject[2],
"Subject 4": array_username[3], "Subject 4": array_schoolsubject[3],
"Subject 5": array_username[4], "Subject 5": array_schoolsubject[4],
"Subject 6": array_username[5], "Subject 6": array_schoolsubject[5],
}, },
"tuesday": { "tuesday": {
"Subject 1": array_username[14], "Subject 1": array_schoolsubject[14],
"Subject 2": array_username[15], "Subject 2": array_schoolsubject[15],
"Subject 3": array_username[16], "Subject 3": array_schoolsubject[16],
"Subject 4": array_username[17], "Subject 4": array_schoolsubject[17],
"Subject 5": array_username[18], "Subject 5": array_schoolsubject[18],
"Subject 6": array_username[19], "Subject 6": array_schoolsubject[19],
}, },
"wednesday": { "wednesday": {
"Subject 1": array_username[12], "Subject 1": array_schoolsubject[12],
"Subject 2": array_username[13], "Subject 2": array_schoolsubject[13],
"Subject 3": array_username[14], "Subject 3": array_schoolsubject[14],
"Subject 4": array_username[15], "Subject 4": array_schoolsubject[15],
"Subject 5": array_username[16], "Subject 5": array_schoolsubject[16],
"Subject 6": array_username[17], "Subject 6": array_schoolsubject[17],
}, },
"thursday": { "thursday": {
"Subject 1": array_username[28], "Subject 1": array_schoolsubject[28],
"Subject 2": array_username[29], "Subject 2": array_schoolsubject[29],
"Subject 3": array_username[30], "Subject 3": array_schoolsubject[30],
"Subject 4": array_username[31], "Subject 4": array_schoolsubject[31],
"Subject 5": array_username[32], "Subject 5": array_schoolsubject[32],
"Subject 6": array_username[33], "Subject 6": array_schoolsubject[33],
}, },
"friday": { "friday": {
"Subject 1": array_username[42], "Subject 1": array_schoolsubject[42],
"Subject 2": array_username[43], "Subject 2": array_schoolsubject[43],
"Subject 3": array_username[44], "Subject 3": array_schoolsubject[44],
"Subject 4": array_username[45], "Subject 4": array_schoolsubject[45],
"Subject 5": array_username[46], "Subject 5": array_schoolsubject[46],
"Subject 6": array_username[47], "Subject 6": array_schoolsubject[47],
} },
} },
"teacher": {
"monday": {
"Teacher 1": array_teacher[0],
"Teacher 2": array_teacher[1],
"Teacher 3": array_teacher[2],
"Teacher 4": array_teacher[3],
"Teacher 5": array_teacher[4],
"Teacher 6": array_teacher[5],
},
"tuesday": {
"Teacher 1": array_teacher[14],
"Teacher 2": array_teacher[15],
"Teacher 3": array_teacher[16],
"Teacher 4": array_teacher[17],
"Teacher 5": array_teacher[18],
"Teacher 6": array_teacher[19],
},
"wednesday": {
"Teacher 1": array_teacher[28],
"Teacher 2": array_teacher[29],
"Teacher 3": array_teacher[30],
"Teacher 4": array_teacher[31],
"Teacher 5": array_teacher[32],
"Teacher 6": array_teacher[33],
},
"thursday": {
"Teacher 1": array_teacher[42],
"Teacher 2": array_teacher[43],
"Teacher 3": array_teacher[44],
"Teacher 4": array_teacher[45],
"Teacher 5": array_teacher[46],
"Teacher 6": array_teacher[47],
},
"friday": {
"Teacher 1": array_teacher[56],
"Teacher 2": array_teacher[57],
"Teacher 3": array_teacher[58],
"Teacher 4": array_teacher[59],
"Teacher 5": array_teacher[60],
"Teacher 6": array_teacher[61],
},
},
} }
return jsonify(test) return jsonify(test)