summaryrefslogtreecommitdiff
path: root/share/Flask_test/pbserver.py
diff options
context:
space:
mode:
Diffstat (limited to 'share/Flask_test/pbserver.py')
-rwxr-xr-xshare/Flask_test/pbserver.py109
1 files changed, 109 insertions, 0 deletions
diff --git a/share/Flask_test/pbserver.py b/share/Flask_test/pbserver.py
new file mode 100755
index 0000000..70796d3
--- /dev/null
+++ b/share/Flask_test/pbserver.py
@@ -0,0 +1,109 @@
+#!/usr/bin/python2.7
+from bottle import route, run, post, request, static_file
+import sys
+sys.path.append("./lib")
+#FIXME probably can get away with import * here
+from Pb.Break import PbBreak
+from Pb.Generate import PbGenerate
+from Pb.Gradient import PbGradient
+from Pb.Grid import PbGrid
+from Pb.Landscape import PbLandscape
+from Pb.Pattern import PbPattern
+
+from Config import AWS_SECRET_ACCESS_KEY, AWS_ACCESS_KEY_ID, BUCKET_NAME, BIN_IDENTIFY
+from Pb import Pb
+from Db import Db
+
+import os
+import sys
+
+import sha
+from subprocess import call, Popen, PIPE
+import simplejson as json
+
+#
+
+def return_image(im, insert_url="NULL"):
+ return format_im_data(im, insert_url)
+
+
+def return_jsonp(im, insert_url="NULL"):
+ return "{}({})".format(im.get("callback"), format_im_data(im, insert_url))
+
+
+def _pb_post(pb_class, request):
+ try:
+ im = pb_class(**(dict(request.forms)))
+ im.create();
+ return return_image(im)
+ except Exception as e:
+ sys.stderr.write("%s failure" % pb_class.__name__)
+ sys.stderr.write("params:\n")
+ for i in request.forms:
+ sys.stderr.write("{}:{}\n".format(i, request.forms[i]))
+ raise;
+ return json.dumps({ 'error' : 'Request could not be processed' })
+
+@post('/im/api/imgradient')
+def gradient():
+ _pb_post(PbGradient, request)
+
+@post('/im/api/imgrid')
+def imgrid():
+ _pb_post(PbLandscape, request)
+
+@post('/im/api/generate')
+def generate():
+ _pb_post(PbGenerate, request)
+
+@post('/im/api/imbreak')
+ _pb_post(PbBreak, request)
+
+@post('/im/api/impattern')
+def pattern():
+ _pb_post(PbPattern, request)
+
+@post('/im/api/imlandscape')
+def imlandscape():
+ _pb_post(Imlandscape, request)
+
+
+
+#static routes
+@route('/im/<filename>')
+def server_static(filename):
+ return static_file(filename, root='frontend/im/')
+@route('/im')
+def server_static():
+ return static_file("index.html", root='frontend/im/')
+@route('/imgrid')
+def server_static():
+ return static_file("index.html", root='frontend/imgrid/')
+@route('/imgradient')
+def server_static():
+ return static_file("index.html", root='frontend/imgradient/')
+@route('/imlandscape')
+def server_static():
+ return static_file("index.html", root='frontend/imlandscape/')
+@route('/impattern')
+def server_static():
+ return static_file("index.html", root='frontend/impattern/')
+@route('/imbreak')
+def server_static():
+ return static_file("index.html", root='frontend/imbreak/')
+@route('/')
+def server_static():
+ return static_file("index.html", root='frontend/im/')
+@route('/css/<filename>')
+def server_static(filename):
+ return static_file(filename, root='frontend/css/')
+@route('/js/<filename>')
+def server_static(filename):
+ return static_file(filename, root='frontend/js/')
+@route('/img/<filename>')
+def server_static(filename):
+ return static_file(filename, root='frontend/img/')
+
+
+run(host='0.0.0.0', server='flup', port=8999, debug=True)
+#run(host='0.0.0.0', port=8999, debug=True)