Rewrote api handle
This commit is contained in:
parent
7149885c9d
commit
e491530689
7
api/__init__.py
Normal file
7
api/__init__.py
Normal file
|
@ -0,0 +1,7 @@
|
|||
from . import missing
|
||||
from os import listdir
|
||||
|
||||
versions = {}
|
||||
|
||||
for d in [d for d in listdir(__name__) if d not in ["__init__.py", "__pycache__", "missing.py"]]:
|
||||
versions[d] = __import__("%s.%s" % (__name__, d), fromlist=[""])
|
14
api/missing.py
Normal file
14
api/missing.py
Normal file
|
@ -0,0 +1,14 @@
|
|||
from objects import glob
|
||||
|
||||
allowed_args = ["file_hash", "file_version", "timestamp"]
|
||||
|
||||
def handle(request):
|
||||
print(request)
|
||||
|
||||
return callback()
|
||||
|
||||
def callback():
|
||||
return {
|
||||
"error": 404,
|
||||
"message": "Missing api endpoint"
|
||||
}
|
6
api/v1/__init__.py
Normal file
6
api/v1/__init__.py
Normal file
|
@ -0,0 +1,6 @@
|
|||
from os import listdir
|
||||
|
||||
handlers = {}
|
||||
|
||||
for d in [d.rstrip(".py") for d in listdir(__name__.replace(".", "/")) if d not in ["__init__.py", "__pycache__"]]:
|
||||
handlers[d] = __import__("%s.%s" % (__name__, d), fromlist=[""])
|
38
main.py
Normal file
38
main.py
Normal file
|
@ -0,0 +1,38 @@
|
|||
import json
|
||||
#import MySQLdb
|
||||
#import MySQLdb.cursors
|
||||
from flask import Flask, make_response, request, render_template, jsonify
|
||||
from objects import glob
|
||||
|
||||
import api
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
with open("config.json", "r") as f:
|
||||
config = json.load(f)
|
||||
|
||||
# Setup sql
|
||||
#glob.sql = MySQLdb.connect(**config["sql"], cursorclass = MySQLdb.cursors.DictCursor)
|
||||
|
||||
@app.route("/")
|
||||
@app.route("/home")
|
||||
def home_index():
|
||||
return render_template("index.html")
|
||||
|
||||
@app.route("/download")
|
||||
def download_index():
|
||||
return render_template("download.html")
|
||||
|
||||
@app.route("/api")
|
||||
def api_index():
|
||||
return render_template("api.html")
|
||||
|
||||
@app.route("/api/<ver>/<func>")
|
||||
def api_call(ver, func):
|
||||
if ver not in api.versions or func not in api.versions[ver].handlers:
|
||||
return jsonify(api.missing.handle(request))
|
||||
data = api.versions[ver].handlers[func].handle(request)
|
||||
return jsonify(data)
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(**config["web"])
|
45
web.py
45
web.py
|
@ -1,45 +0,0 @@
|
|||
import json
|
||||
import MySQLdb
|
||||
import MySQLdb.cursors
|
||||
from flask import Flask, make_response, request, render_template, jsonify
|
||||
from handlers import getupdate, getfile, getlist
|
||||
from objects import glob
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
with open("config.json", "r") as f:
|
||||
config = json.load(f)
|
||||
|
||||
# Setup sql
|
||||
glob.sql = MySQLdb.connect(**config["sql"], cursorclass = MySQLdb.cursors.DictCursor)
|
||||
|
||||
@app.route("/")
|
||||
@app.route("/home")
|
||||
def home_index():
|
||||
return render_template("index.html")
|
||||
|
||||
@app.route("/download")
|
||||
def download_index():
|
||||
return render_template("download.html")
|
||||
|
||||
@app.route("/api")
|
||||
def api_index():
|
||||
return render_template("api.html")
|
||||
|
||||
@app.route("/api/getUpdate", methods=["GET", "POST"])
|
||||
def api_update():
|
||||
data = getupdate.handle(request)
|
||||
return jsonify(data)
|
||||
|
||||
@app.route("/api/getFile", methods=["GET", "POST"])
|
||||
def api_file():
|
||||
data = getfile.handle(request)
|
||||
return jsonify(data)
|
||||
|
||||
@app.route("/api/getList", methods=["GET", "POST"])
|
||||
def api_list():
|
||||
data = getlist.handle(request)
|
||||
return jsonify(data)
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(**config["web"])
|
Loading…
Reference in New Issue
Block a user