|
@@ -1,4 +1,4 @@ |
|
|
from flask import Flask, request, redirect, url_for, make_response, render_template, Markup, send_from_directory, send_file |
|
|
|
|
|
|
|
|
from flask import Flask, request, redirect, url_for, make_response, render_template, Markup, send_from_directory, send_file, jsonify, Response |
|
|
from flask_redis import FlaskRedis |
|
|
from flask_redis import FlaskRedis |
|
|
import json, abp, markdown |
|
|
import json, abp, markdown |
|
|
from pprint import pprint |
|
|
from pprint import pprint |
|
@@ -35,12 +35,12 @@ def graph(uuid): |
|
|
return "Posted {} bytes OK".format(len(data)) |
|
|
return "Posted {} bytes OK".format(len(data)) |
|
|
|
|
|
|
|
|
elif redis.exists(uuid): |
|
|
elif redis.exists(uuid): |
|
|
return redis.get(uuid) |
|
|
|
|
|
|
|
|
return jsonify(json.loads(redis.get(uuid))) |
|
|
else: |
|
|
else: |
|
|
g = abp.GraphState() |
|
|
g = abp.GraphState() |
|
|
data = json.dumps(g.to_json(stringify=True)) |
|
|
|
|
|
redis.setex(uuid, DAY, data) |
|
|
|
|
|
return data |
|
|
|
|
|
|
|
|
data = g.to_json(stringify=True) |
|
|
|
|
|
redis.setex(uuid, DAY, json.dumps(data)) |
|
|
|
|
|
return jsonify(data) |
|
|
|
|
|
|
|
|
@app.route("/<uuid>/edit", methods=["POST"]) |
|
|
@app.route("/<uuid>/edit", methods=["POST"]) |
|
|
def edit(uuid): |
|
|
def edit(uuid): |
|
@@ -85,3 +85,10 @@ def doc(): |
|
|
body = Markup(markdown.markdown(render_template("doc.md"), extensions=["markdown.extensions.codehilite"])) |
|
|
body = Markup(markdown.markdown(render_template("doc.md"), extensions=["markdown.extensions.codehilite"])) |
|
|
return render_template("boilerplate.html", body=body) |
|
|
return render_template("boilerplate.html", body=body) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@app.route("/<uuid>/download") |
|
|
|
|
|
def download(uuid): |
|
|
|
|
|
return Response(redis.get(uuid), |
|
|
|
|
|
mimetype='application/json', |
|
|
|
|
|
headers={'Content-Disposition':'attachment;filename=graph.json'}) |
|
|
|
|
|
|