From 487224c93fcda61fc3447077744f5a5c7fb59044 Mon Sep 17 00:00:00 2001 From: yamanq Date: Tue, 16 Jan 2018 14:13:19 -0500 Subject: [PATCH] initialize simple server requests --- SmearcarDB/server.py | 52 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 SmearcarDB/server.py diff --git a/SmearcarDB/server.py b/SmearcarDB/server.py new file mode 100644 index 0000000..abebe66 --- /dev/null +++ b/SmearcarDB/server.py @@ -0,0 +1,52 @@ +import pickle +from flask import Flask +from flask import render_template, jsonify, request +import time +import random +app = Flask(__name__) + +try: + database = pickle.load(open("save.p", "rb")) +except (FileNotFoundError) as e: + database = {'languages': [], + 'phonemes': [], + 'values': []} + + +# Render the client at the default URL +@app.route("/") +def initial(): + return render_template('index.html') + +# Place for client to communicate with the server +@app.route("/server", methods=["GET", "POST"]) +def backend(): + # Get method returns the latest database + if request.method == "GET": + return jsonify(database) + + # Post method currently appends to the languages + # TODO add more methods + elif request.method == "POST": + newlanguage = request.get_json() + database.values.append(newlanguage) + + # Add new phonemes + newphonemes = list(newlanguage.phonemes) + uniquephonemes = list(set(newphonemes) - set(database.phonemes)) + database.phonemes = database.phonemes + uniquephonemes + + # Add new language + newlang = list(newlanguage.name) + uniquelanguages = list(set(newlang) - set(database.languages)) + database.languages = database.languages + uniquelanguages + + + pickle.dump(database, open("newestsave.p", "wb")) + return jsonify(database) + + else: + return + +if __name__ == "__main__": + app.run(host="0.0.0.0")