diff --git a/.gitignore b/.gitignore index 5bc2456..e9a6cb8 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -test.xlsx \ No newline at end of file +test.xlsx +.env \ No newline at end of file diff --git a/api/app.py b/api/app.py new file mode 100644 index 0000000..f3fea3a --- /dev/null +++ b/api/app.py @@ -0,0 +1,73 @@ +from flask import Flask, render_template, request, redirect, session, url_for, jsonify +from dotenv import load_dotenv +import requests +import os +import urllib +import pymongo + +app = Flask(__name__) + +load_dotenv() #Load .env file +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) +client = pymongo.MongoClient(mongo_url) #Connect to MongoDB +database = client["website-class"] #Database name +collection = database["school-time-table"] + +@app.route('/', methods = ['GET', 'POST']) +def api(): + if(request.method == 'GET'): + collection_find_username = list(collection.find({}, {"School Subject": 1,})) + array_username = collection_find_username[0]['School Subject'] + + + test = { + "subject" : { + "monday": { + "Subject 1": array_username[0], + "Subject 2": array_username[1], + "Subject 3": array_username[2], + "Subject 4": array_username[3], + "Subject 5": array_username[4], + "Subject 6": array_username[5], + }, + "tuesday": { + "Subject 1": array_username[6], + "Subject 2": array_username[7], + "Subject 3": array_username[8], + "Subject 4": array_username[9], + "Subject 5": array_username[10], + "Subject 6": array_username[11], + }, + "wednesday": { + "Subject 1": array_username[12], + "Subject 2": array_username[13], + "Subject 3": array_username[14], + "Subject 4": array_username[15], + "Subject 5": array_username[16], + "Subject 6": array_username[17], + }, + "thursday": { + "Subject 1": array_username[18], + "Subject 2": array_username[19], + "Subject 3": array_username[20], + "Subject 4": array_username[21], + "Subject 5": array_username[22], + "Subject 6": array_username[23], + }, + "friday": { + "Subject 1": array_username[24], + "Subject 2": array_username[25], + "Subject 3": array_username[26], + "Subject 4": array_username[27], + "Subject 5": array_username[28], + "Subject 6": array_username[29], + } + } + } + + return jsonify(test) + +if __name__ == '__main__': + app.run() \ No newline at end of file diff --git a/app.py b/app.py index ad5dabe..cddd1bb 100644 --- a/app.py +++ b/app.py @@ -1,4 +1,5 @@ -from flask import Flask, render_template, request, redirect, session, url_for +from src.script import api_test +from flask import Flask, render_template, request, redirect, session, url_for, jsonify import requests import os @@ -21,5 +22,11 @@ def orario(): def calendario(): return render_template('html/calendario.html') +@app.route('/api', methods = ['GET', 'POST']) +def api(): + if(request.method == 'GET'): + data = "hello world" + return jsonify({'data': data}) + if __name__ == '__main__': app.run() \ No newline at end of file diff --git a/src/events/update_time_school.py b/src/events/update_time_school.py index 1a94138..7e087f3 100644 --- a/src/events/update_time_school.py +++ b/src/events/update_time_school.py @@ -1,21 +1,75 @@ +from dotenv import load_dotenv import openpyxl as xl +import urllib +import pymongo +import os +import datetime +from bson.objectid import ObjectId + +load_dotenv() #Load .env file +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) +client = pymongo.MongoClient(mongo_url) #Connect to MongoDB +database = client["website-class"] #Database name +collection = database["school-time-table"] #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") ws = workbook.active +current_time = datetime.datetime.now() +day = str(current_time.day) +month = str(current_time.month) +year = str(current_time.year) +si = day + "-" + month + "-" + year +mydict = { + "Date": si, + "School Subject": [], + "Teacher": [], +} +x = collection.insert_one(mydict) + # row 4 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": - print(ws.cell(row=cell.row, column=column).value) - print(cell.row, column) + ws.cell(row=cell.row, column=column).value #Search school time table - for i in range(4,50): - print(ws.cell(row=i, column=column).value) - for i in range(4, 55): - print(print(ws.cell(row=i, column=column+1).value)) - column = column \ No newline at end of file + for i in range(4,80): + school_subject = ws.cell(row=i, column=column).value + if school_subject == 0: + find_document_username = list(collection.find({}, {"Date": si})) + array_username = find_document_username[0]["_id"] + collection.update_one( + { "_id": ObjectId(array_username)}, + { + "$push": { "School Subject": "null" } + }) + else: + remove_things_in_front = school_subject.split(' ', 1)[1] + find_document_username = list(collection.find({}, {"Date": si})) + array_username = find_document_username[0]["_id"] + collection.update_one( + { "_id": ObjectId(array_username)}, + { + "$push": { "School Subject": str(remove_things_in_front) } + }) + + #Search teacher + for i in range(4, 80): + teacher = ws.cell(row=i, column=column+1).value + column = column + if teacher == 0: + pass + else: + find_document_username = list(collection.find({}, {"Date": si})) + array_username = find_document_username[0]["_id"] + collection.update_one( + { "_id": ObjectId(array_username)}, + { + "$push": { "Teacher": teacher } + }) \ No newline at end of file