initialize simple server requests
This commit is contained in:
parent
7176d5cda5
commit
487224c93f
52
SmearcarDB/server.py
Normal file
52
SmearcarDB/server.py
Normal file
@ -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")
|
||||
Loading…
x
Reference in New Issue
Block a user