Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
project_server.py 4.88 KiB
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)