diff --git a/project_server.py b/project_server.py index 3fce4491a20e6aa7da5bcc5881ec88a9cd3e0329..d0890d0e189fb37568e5fc75cb3b83aa038c903d 100644 --- a/project_server.py +++ b/project_server.py @@ -8,113 +8,142 @@ app.secret_key = "hello" ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) +#Error handling for common database connection. +#Parameter optional. Defaults to DATABASE. +def connect_db(db_file=DATABASE): + conn = None + try: + conn = sqlite3.connect(db_file) + except: + print("Error connecting to database.") + return conn @app.route("/", methods=['GET']) -def returnTemplate(): - return render_template("test.html") +def returnIndex(): + if (request.method == 'GET'): + return render_template("test.html") -@app.route("/OneLocation", methods=['GET']) -def OneLocation(): - return render_template("locations.html") +@app.route("/Manage_Coworking_Spaces", methods=['GET']) +def returnManageCoworkingSpaces(): + if (request.method == 'GET'): + return render_template("Manage_Coworking_Spaces.html") - -@app.route("/SearchRecord", methods=['POST']) +@app.route("/SearchRecord", methods=['POST', 'GET']) def searchRecord(): - if request.method =='POST': + if (request.method =='POST'): + recordName = request.form.get('recordName', default="Error") + print(f"Searching for '{recordName}' in the database.") + try: - recordName = request.form.get('recordName', default="Error") - conn = sqlite3.connect(DATABASE) + conn = connect_db() cur = conn.cursor() cur.execute("SELECT * FROM coworking_spaces WHERE Name=?;", [recordName]) recordData = cur.fetchall() + except: - print(f"Error: {recordData}") - conn.close() + print(f"Encountered an error whilst searching for record.") + finally: conn.close() - print(f"{str(recordData)} Record found.") - return str(recordData) -# Adds a record to the CSV file. -@app.route("/AddRecord", methods=['POST']) -def addRecord(): + if not recordData: #If recordData is an empty list... + print(f"'{recordName}' not found.") + return (f"'{recordName}' not found.") - print('Processing record.') - infoMessage = ('Add record failed.') + else: + print(f"Found: {recordData}") + return (recordData) + +@app.route('/AddRecord', methods=['POST']) +def addRecord(): if (request.method == 'POST'): - recordName = request.form['recordName'] - recordAddress = request.form['recordAddress'] - recordMainPhotos = request.form['recordMainPhotos'] - recordAdditionalPhotos = request.form['recordAdditionalPhotos'] - recordDescription = request.form['recordDescription'] - recordWebsite = request.form['recordWebsite'] - recordEmail = request.form['recordEmail'] - recordPhoneNumber = request.form['recordPhoneNumber'] - recordOpeningHours = request.form['recordOpeningHours'] - recordCheckinInstructions = request.form['recordCheckinInstructions'] + recordName = request.form.get('recordName', default="Error") + recordAddress = request.form.get('recordAddress', default="Error") + recordMainPhotos = request.form.get('recordMainPhotos', default="Error") + recordAdditionalPhotos = request.form.get('recordAdditionalPhotos', default="Error") + recordDescription = request.form.get('recordDescription', default="Error") + recordWebsite = request.form.get('recordWebsite', default="Error") + recordEmail = request.form.get('recordEmail', default="Error") + recordPhoneNumber = request.form.get('recordPhoneNumber', default="Error") + recordOpeningHours = request.form.get('recordOpeningHours', default="Error") + recordCheckinInstructions = request.form.get('recordCheckinInstructions', default="Error") recordData = [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions] + print(f"Adding '{recordName}' to the database.") - conn = sqlite3.connect(DATABASE) - cur = conn.cursor() - cur.execute("INSERT INTO coworking_spaces ('Name', 'Address', 'Main_Photo', 'Additional_Photos', 'Description', 'Website', 'Email', 'Phone_Number', 'Opening_Hours', 'Checkin_Instructions')\ - VALUES (?,?,?,?,?,?,?,?,?,?)", (recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions)) - conn.commit() - conn.close() + try: + conn = connect_db() + cur = conn.cursor() + cur.execute("INSERT INTO coworking_spaces ('Name', 'Address', 'Main_Photo', 'Additional_Photos', 'Description', 'Website', 'Email', 'Phone_Number', 'Opening_Hours', 'Checkin_Instructions')\ + VALUES (?,?,?,?,?,?,?,?,?,?)", (recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions)) + conn.commit() + infoMessage = (f"Added: {recordData}") - infoMessage = (f'{recordData} Record added.') + except: + conn.rollback() + infoMessage = (f"Error adding record.") - print(infoMessage) - return (infoMessage) + finally: + conn.close() + print(infoMessage) + return (infoMessage) -@app.route("/DeleteRecord", methods=['POST']) +@app.route('/DeleteRecord', methods=['POST']) def deleteRecord(): - if request.method =='POST': + if (request.method =='POST'): + recordName = request.form.get('recordName', default="Error") + print(f"Deleting '{recordName}' from the database.") + try: - recordName = request.form.get('recordName', default="Error") conn = sqlite3.connect(DATABASE) cur = conn.cursor() cur.execute("DELETE FROM coworking_spaces WHERE Name=?;", [recordName]) conn.commit() + infoMessage = (f"Deleted: '{recordName}'.") + except: - print(f"Error: {recordData}") - conn.close() + conn.rollback() + infoMessage = (f"Error deleting record.") + finally: conn.close() - print("Record deleted.") - return ("Record deleted.") + print(infoMessage) + return (infoMessage) -@app.route("/EditRecord", methods=['POST']) -def editRecord(): - - print('Processing record.') - infoMessage = ('Add record failed.') +@app.route('/UpdateRecord', methods=['POST']) +def updateRecord(): if (request.method == 'POST'): - recordName = request.form['recordName'] - recordAddress = request.form['recordAddress'] - recordMainPhotos = request.form['recordMainPhotos'] - recordAdditionalPhotos = request.form['recordAdditionalPhotos'] - recordDescription = request.form['recordDescription'] - recordWebsite = request.form['recordWebsite'] - recordEmail = request.form['recordEmail'] - recordPhoneNumber = request.form['recordPhoneNumber'] - recordOpeningHours = request.form['recordOpeningHours'] - recordCheckinInstructions = request.form['recordCheckinInstructions'] + recordName = request.form.get('recordName', default="Error") + recordAddress = request.form.get('recordAddress', default="Error") + recordMainPhotos = request.form.get('recordMainPhotos', default="Error") + recordAdditionalPhotos = request.form.get('recordAdditionalPhotos', default="Error") + recordDescription = request.form.get('recordDescription', default="Error") + recordWebsite = request.form.get('recordWebsite', default="Error") + recordEmail = request.form.get('recordEmail', default="Error") + recordPhoneNumber = request.form.get('recordPhoneNumber', default="Error") + recordOpeningHours = request.form.get('recordOpeningHours', default="Error") + recordCheckinInstructions = request.form.get('recordCheckinInstructions', default="Error") recordData = [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions] + print(f"Updating '{recordName}' in the database.") - conn = sqlite3.connect(DATABASE) - cur = conn.cursor() - cur.execute("UPDATE coworking_spaces SET 'Name' = ?, 'Address' = ?, 'Main_Photo' = ?, 'Additional_Photos' = ?, 'Description' = ?, 'Website' = ?, 'Email' = ?, 'Phone_Number' = ?, 'Opening_Hours' = ?, 'Checkin_Instructions' = ? WHERE Name=?;", [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions, recordName]) - conn.commit() - conn.close() + try: + conn = sqlite3.connect(DATABASE) + cur = conn.cursor() + cur.execute("UPDATE coworking_spaces SET 'Name' = ?, 'Address' = ?, 'Main_Photo' = ?, 'Additional_Photos' = ?, 'Description' = ?, 'Website' = ?, 'Email' = ?, 'Phone_Number' = ?, 'Opening_Hours' = ?, 'Checkin_Instructions' = ? WHERE Name=?;", [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions, recordName]) + conn.commit() + infoMessage = (f"Updated: '{recordName}'.") - infoMessage = (f'{recordData} Record amended.') + except: + conn.rollback() + infoMessage = (f"Error updating record.") - print(infoMessage) - return (infoMessage) + finally: + conn.close() + print(infoMessage) + return (infoMessage) @app.route("/locations", methods=["POST" , "GET"]) def Locations(): diff --git a/static/CSS/Manage_Coworking_Spaces.css b/static/CSS/Manage_Coworking_Spaces.css index b9b1e4a439d856607d7bba1fe3a0af72c13b3a42..ec63a924db40d6c8803af1687a3d011d2410288c 100644 --- a/static/CSS/Manage_Coworking_Spaces.css +++ b/static/CSS/Manage_Coworking_Spaces.css @@ -19,6 +19,11 @@ overflow, float, display body { margin: 0; padding: 0; + + /* Below styling used for footer position. */ + display: flex; + min-height: 100vh; + flex-direction: column; } ul, li { @@ -48,6 +53,7 @@ a { header #pageHeader div #headerDiv + a #headerText #headerImg nav #headerNav .navBar ul .Right, ul .Left li a @@ -71,11 +77,11 @@ header #pageHeader #headerText { width: 100%; - margin-left: -220px; + margin-left: -240px; } #headerImg { - width: 180px; + width: 200px; height: 65px; margin-top: -10px; margin-right: 20px; @@ -93,11 +99,6 @@ header #pageHeader padding: 7.5px 10px; } -#headerNav img { - width: 55px; - height: 20px; -} - /* [#2] Page navigation styling. Used in [#1] and [#4]. */ .navBar { @@ -130,7 +131,10 @@ main #pageMain */ -#pageMain {} +#pageMain { + /* Below styling used for footer position. */ + flex: 1; +} #recordForm { margin-left: 5px; diff --git a/static/CSS/loginstyle.css b/static/CSS/loginstyle.css index dcb9b6845e58916f793bc9f3e02e554da07a83d2..2c44a02a44c292502c7c4862d8e8b78d86024f40 100644 --- a/static/CSS/loginstyle.css +++ b/static/CSS/loginstyle.css @@ -22,4 +22,8 @@ body{ font-family: 'Sora', sans-serif; background-color: #212529; color: white; +<<<<<<< HEAD } +======= +} +>>>>>>> 9c7255d510762a8f16afeba2657cad4a0f8b8239 diff --git a/static/JS/Manage_Coworking_Spaces.js b/static/JS/Manage_Coworking_Spaces.js index c20755b76708e03d8d46a91898f0b26f2b98ca6a..ab9371b3050e68921c68d7142d571daba878dbfb 100644 --- a/static/JS/Manage_Coworking_Spaces.js +++ b/static/JS/Manage_Coworking_Spaces.js @@ -52,6 +52,17 @@ function searchRecord(e) { xhttp.onreadystatechange = function() { if (xhttp.readyState === 4 && xhttp.status === 200) { console.log(xhttp.responseText); + serverResponse = JSON.parse(xhttp.responseText); + document.getElementById("recordName").value = serverResponse[0][0]; + document.getElementById("recordAddress").value = serverResponse[0][1]; + document.getElementById("recordMainPhotos").value = serverResponse[0][2]; + document.getElementById("recordAdditionalPhotos").value = serverResponse[0][3]; + document.getElementById("recordDescription").value = serverResponse[0][4]; + document.getElementById("recordWebsite").value = serverResponse[0][5]; + document.getElementById("recordEmail").value = serverResponse[0][6]; + document.getElementById("recordPhoneNumber").value = serverResponse[0][7]; + document.getElementById("recordOpeningHours").value = serverResponse[0][8]; + document.getElementById("recordCheckinInstructions").value = serverResponse[0][9]; document.getElementById("DEBUGserverMessage").innerHTML = xhttp.responseText; } else { console.error(`Status Text: ${xhttp.statusText}.`); @@ -61,7 +72,6 @@ function searchRecord(e) { xhttp.send(params); } - // Adds a record to the database. function addRecord(e) { // Removes the standard form processing. diff --git a/static/Manage_Coworking_Spaces.html b/static/Manage_Coworking_Spaces.html deleted file mode 100644 index 26908ef8108f7b8ae8876a4f7d7e9018dadee7bc..0000000000000000000000000000000000000000 --- a/static/Manage_Coworking_Spaces.html +++ /dev/null @@ -1,94 +0,0 @@ -<!DOCTYPE html> -<html lang="EN" dir="ltr"> - <head> - <meta charSet="UTF-8"> - <title> Manage Coworking Spaces </title> - <link rel="stylesheet" href="CSS/Manage_Coworking_Spaces.css"> - - </head> - <body onLoad="pageLoad()"> - - <header id="pageHeader" class="pageHeader"> - <div id="headerDiv"> - <a href="Manage_Coworking_Spaces.html"> - <img id="headerImg" class="headerImg" - src="Media/Tramshed-Logo-Main-Black.png"></img></a> - <a id="headerText" class="headerText" - href="Manage_Coworking_Spaces.html"> - Manage Coworking Spaces</a> - </div> - <nav id="headerNav" class="navBar"> - <ul class="Left"> - <li><a href="Manage_Coworking_Spaces.html"> - <img id="navImg" class="navImg" - src="Media/Tramshed-Logo-Main-White.png"></img></a></li> - <li><a href="Manage_Coworking_Spaces.html">Home</a></li> - <li><a href="Manage_Coworking_Spaces.html">Locations</a></li> - </ul> - <ul class="Right"> - <li><a href="Manage_Coworking_Spaces.html">Manage</a></li> - <li><a href="Manage_Coworking_Spaces.html">Login</a></li> - <li><div class="navHamburger"> - <span></span> - <span></span> - <span></span> - </div></li> - </ul> - </nav> - </header> - - <main id="pageMain"> - <form id="recordForm" title="Record Form"> - <label>Name: <input id="recordName" class="formTextInput" - name="record_name" type="text"></label><br> - <label>Address: <input id="recordAddress" class="formTextInput" - name="record_address" type="text"></label><br> - <label>Main Photograph: <input id="recordMainPhotos" class="formTextInput" - name="record_MP" type="text"></label><br> - <label>Additional Photographs: <input id="recordAdditionalPhotos" class="formTextInput" - name="record_AP" type="text"></label><br> - <label>Description: <input id="recordDescription" class="formTextInput" - name="record_description" type="text"></label><br> - <label>Website: <input id="recordWebsite" class="formTextInput" - name="record_website" type="text"></label><br> - <label>Email: <input id="recordEmail" class="formTextInput" - name="record_email" type="text"></label><br> - <label>Phone Number: <input id="recordPhoneNumber" class="formTextInput" - name="record_PN" type="text"></label><br> - <label>Opening Hours: <input id="recordOpeningHours" class="formTextInput" - name="record_OH" type="text"></label><br> - <label>Checkin Instructions: <input id="recordCheckinInstructions" class="formTextInput" - name="record_CI" type="text"></label> - - <br><br> - <button id="searchButton" type="submit">Search</button> - <button id="addButton" type="submit">Add</button> - <button id="editButton" type="submit">Edit</button> - <button id="deleteButton" type="submit">Delete</button> - </form> - <br> - <span id="DEBUGserverMessage"> </span> - - <br><br><br><br><br><br><br><br><br><br><br><br> - <br><br><br><br><br><br><br><br><br><br><br><br> - <br><br><br><br><br><br><br><br><br><br><br><br> - <br><br><br><br><br><br><br><br><br><br><br><br> - </main> - - <footer id="pageFooter"> - <nav id="footerNav" class="navBar"> - <ul class="Center"> - <li><a href="Manage_Coworking_Spaces.html">Left</a></li> - </ul> - <ul class="Center"> - <li><a href="Manage_Coworking_Spaces.html">Center</a></li> - </ul> - <ul class="Center"> - <li><a href="Manage_Coworking_Spaces.html">Right</a></li> - </ul> - </nav> - </footer> - - <script src="JS/Manage_Coworking_Spaces.js"></script> - </body> -</html> diff --git a/static/landingpage.html b/static/landingpage.html index b56e8fd9532a49e78e2bf27015a65014f5bd3d18..fca729848a41a620680e438f5ae7728876e074c1 100644 --- a/static/landingpage.html +++ b/static/landingpage.html @@ -12,7 +12,7 @@ <a class="nav-link" href="locations.html">Coworking locations</a> </li> <li class="nav-item"> - <a class="nav-link" href="Manage_Coworking_Spaces.html">Manage locations</a> + <a class="nav-link" href="/Manage_Coworking_Spaces">Manage locations</a> </li> </ul> </div> @@ -31,7 +31,7 @@ <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Sora:wght@800&display=swap" rel="stylesheet"> - <link rel="stylesheet" href="landingstyle.css"> + <link rel="stylesheet" href="CSS/landingstyle.css"> <title>Tramshed Tech</title> <img id="tramshed" src="Media/tramshed.jpg"> <div class="bg-dark p-3"> diff --git a/static/login.html b/static/login.html index c76f858a582dfd602be21343a4f7ebeba22bb3f8..5bbe1b72a5529fc7b8b0ff4c1c3fa16cd0b44f59 100644 --- a/static/login.html +++ b/static/login.html @@ -25,13 +25,21 @@ <form> <!-- Email input --> <div class="form-outline mb-4"> +<<<<<<< HEAD + <input type="email" id="recordEmail" class="form-control" /> +======= <input type="email" id="form2Example1" class="form-control" /> +>>>>>>> 9c7255d510762a8f16afeba2657cad4a0f8b8239 <label class="form-label" for="form2Example1">Email address</label> </div> <!-- Password input --> <div class="form-outline mb-4"> +<<<<<<< HEAD + <input type="password" id="recordPassword" class="form-control" /> +======= <input type="password" id="form2Example2" class="form-control" /> +>>>>>>> 9c7255d510762a8f16afeba2657cad4a0f8b8239 <label class="form-label" for="form2Example2">Password</label> </div> @@ -60,4 +68,8 @@ <p>Not a member? <a href="#!">Register</a></p> </form> </body> +<<<<<<< HEAD </html> +======= +</html> +>>>>>>> 9c7255d510762a8f16afeba2657cad4a0f8b8239 diff --git a/templates/Manage_Coworking_Spaces.html b/templates/Manage_Coworking_Spaces.html new file mode 100644 index 0000000000000000000000000000000000000000..4787b82564fe77078367f733eb3aac27c2fda7fa --- /dev/null +++ b/templates/Manage_Coworking_Spaces.html @@ -0,0 +1,50 @@ +{%extends "base_template.html"%} + +{%block headblock%} + <title> Manage Coworking Spaces </title> +{%endblock%} + +{%block headerblock%} + <a id="headerText" + href="Manage_Coworking_Spaces"> + Manage Coworking Spaces</a> +{%endblock%} + +{%block mainblock%} + <form id="recordForm" title="Record Form"> + <label>Name: <input id="recordName" class="formTextInput" + name="record_name" type="text"></label> + <button id="searchButton" type="submit">Search</button><br> + <label>Address: <input id="recordAddress" class="formTextInput" + name="record_address" type="text"></label><br> + <label>Main Photograph: <input id="recordMainPhotos" class="formTextInput" + name="record_MP" type="url"></label><br> + <label>Additional Photographs: <input id="recordAdditionalPhotos" class="formTextInput" + name="record_AP" type="url"></label><br> + <label>Description: <input id="recordDescription" class="formTextInput" + name="record_description" type="text"></label><br> + <label>Website: <input id="recordWebsite" class="formTextInput" + name="record_website" type="url"></label><br> + <label>Email: <input id="recordEmail" class="formTextInput" + name="record_email" type="email"></label><br> + <label>Phone Number: <input id="recordPhoneNumber" class="formTextInput" + name="record_PN" type="text"></label><br> + <label>Opening Hours: <input id="recordOpeningHours" class="formTextInput" + name="record_OH" type="text"></label><br> + <label>Checkin Instructions: <input id="recordCheckinInstructions" class="formTextInput" + name="record_CI" type="text"></label> + + <br><br> + <button id="addButton" type="submit">Add</button> + <button id="editButton" type="submit">Edit</button> + <button id="deleteButton" type="submit">Delete</button> + <button id="clearButton" type="reset">Clear</button> + </form> + <br> + <span id="DEBUGserverMessage"> </span> + +{%endblock%} + +{%block jsblock%} + /static/JS/Manage_Coworking_Spaces.js +{%endblock%} diff --git a/templates/base_template.html b/templates/base_template.html index 0b285b1ecc1f90b004c53bc499cf740df1758916..63f880bf675d0295129064140fa0d116cfba53e4 100644 --- a/templates/base_template.html +++ b/templates/base_template.html @@ -2,9 +2,9 @@ <html lang="EN" dir="ltr"> <head> <meta charSet="UTF-8"> - <title> Manage Coworking Spaces </title> + {%block headblock%} + {%endblock%} <link rel="stylesheet" href="/static/CSS/Manage_Coworking_Spaces.css"> - </head> <body onLoad="pageLoad()"> @@ -12,22 +12,18 @@ <div id="headerDiv"> <a href="Manage_Coworking_Spaces.html"> <img id="headerImg" class="headerImg" - src="Media/Tramshed-Logo-Main-Black.png"></img></a> - <a id="headerText" class="headerText" - href="Manage_Coworking_Spaces.html"> - Manage Coworking Spaces</a> + src="/static/Media/Tramshed-Logo-Main-Black.png"></img></a> + {%block headerblock%} + {%endblock%} </div> <nav id="headerNav" class="navBar"> <ul class="Left"> - <li><a href="Manage_Coworking_Spaces.html"> - <img id="navImg" class="navImg" - src="Media/Tramshed-Logo-Main-White.png"></img></a></li> - <li><a href="Manage_Coworking_Spaces.html">Home</a></li> - <li><a href="Manage_Coworking_Spaces.html">Locations</a></li> + <li><a href="/static/landingpage.html">Home</a></li> + <li><a href="/static/locations.html">Locations</a></li> </ul> <ul class="Right"> - <li><a href="Manage_Coworking_Spaces.html">Manage</a></li> - <li><a href="Manage_Coworking_Spaces.html">Login</a></li> + <li><a href="Manage_Coworking_Spaces">Manage</a></li> + <li><a href="/static/login.html">Login</a></li> <li><div class="navHamburger"> <span></span> <span></span> @@ -38,7 +34,6 @@ </header> <main id="pageMain"> - <br><br> {%block mainblock%} {%endblock%} </main> @@ -46,17 +41,17 @@ <footer id="pageFooter"> <nav id="footerNav" class="navBar"> <ul class="Center"> - <li><a href="Manage_Coworking_Spaces.html">Left</a></li> + <li><a href="Manage_Coworking_Spaces">Left</a></li> </ul> <ul class="Center"> - <li><a href="Manage_Coworking_Spaces.html">Center</a></li> + <li><a href="Manage_Coworking_Spaces">Center</a></li> </ul> <ul class="Center"> - <li><a href="Manage_Coworking_Spaces.html">Right</a></li> + <li><a href="Manage_Coworking_Spaces">Right</a></li> </ul> </nav> </footer> - <script src="/static/JS/Manage_Coworking_Spaces.js"></script> + <script src="{%block jsblock%}{%endblock%}"></script> </body> </html> diff --git a/testloginserver.py b/testloginserver.py new file mode 100644 index 0000000000000000000000000000000000000000..a28f96dad8ccf4b267f013c3699da65f0ade7f50 --- /dev/null +++ b/testloginserver.py @@ -0,0 +1,46 @@ +import os +import sqlite3 +from flask import Flask, redirect, request, render_template, jsonify + +app = Flask(__name__) +DATABASE = "login.db" + +ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) + +@app.route("/SearchRecord", methods=['POST']) +def searchRecord(): + + if request.method =='POST': + try: + recordEmail = request.form.get('recordEmail', default="Error") + conn = sqlite3.connect(DATABASE) + cur = conn.cursor() + cur.execute("SELECT * FROM login WHERE Email=?;", [recordEmail]) + recordData = cur.fetchall() + except: + print(f"Error: {recordData}") + conn.close() + finally: + conn.close() + print(f"{str(recordData)} Record found.") + return str(recordData) + +@app.route("/AddRecord", methods=['POST']) +def addRecord(): + if (request.method == 'POST'): + recordEmail = request.form['recordEmail'] + recordPassword = request.form['recordPassword'] + conn = sqlite3.connect(DATABASE) + cur = conn.cursor() + cur.execute("INSERT INTO login ('Email', 'Password')\ + VALUES (?,?)", (recordEmail, recordPassword)) + conn.commit() + conn.close() + + infoMessage = (f'{recordData} Record added.') + + print(infoMessage) + return (infoMessage) + +if __name__ == "__main__": + app.run(debug=True) \ No newline at end of file