import os import sqlite3 from flask import Flask, redirect, request, render_template, jsonify app = Flask(__name__) DATABASE = "project_db.db" ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) @app.route("/", methods=['GET']) def returnIndex(): return render_template("test.html") @app.route("/Manage_Coworking_Spaces", methods=['GET']) def returnManageCoworkingSpaces(): return render_template("Manage_Coworking_Spaces.html") @app.route("/SearchRecord", methods=['POST']) def searchRecord(): if request.method =='POST': try: recordName = request.form.get('recordName', default="Error") conn = sqlite3.connect(DATABASE) cur = conn.cursor() cur.execute("SELECT * FROM coworking_spaces WHERE Name=?;", [recordName]) recordData = cur.fetchall() except: print(f"Error: {recordData}") conn.close() 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(): print('Processing record.') infoMessage = ('Add record failed.') 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'] recordData = [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions] 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() infoMessage = (f'{recordData} Record added.') print(infoMessage) return (infoMessage) @app.route("/DeleteRecord", methods=['POST']) def deleteRecord(): if request.method =='POST': 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() except: print(f"Error: {recordData}") conn.close() finally: conn.close() print("Record deleted.") return ("Record deleted.") @app.route("/EditRecord", methods=['POST']) def editRecord(): print('Processing record.') infoMessage = ('Add record failed.') 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'] recordData = [recordName, recordAddress, recordMainPhotos, recordAdditionalPhotos, recordDescription, recordWebsite, recordEmail, recordPhoneNumber, recordOpeningHours, recordCheckinInstructions] 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() infoMessage = (f'{recordData} Record amended.') print(infoMessage) return (infoMessage) if __name__ == "__main__": app.run(debug=True)