summaryrefslogtreecommitdiff
path: root/share/Flask_test
diff options
context:
space:
mode:
Diffstat (limited to 'share/Flask_test')
-rw-r--r--share/Flask_test/blueprint_test.py21
-rwxr-xr-xshare/Flask_test/pbserver.py109
-rw-r--r--share/Flask_test/test.py46
-rw-r--r--share/Flask_test/test2.py1
4 files changed, 177 insertions, 0 deletions
diff --git a/share/Flask_test/blueprint_test.py b/share/Flask_test/blueprint_test.py
new file mode 100644
index 0000000..2e7c31d
--- /dev/null
+++ b/share/Flask_test/blueprint_test.py
@@ -0,0 +1,21 @@
+from flask import Blueprint, abort, jsonify
+simple_page = Blueprint('simple_page', __name__)
+@simple_page.route('/homies')
+def show():
+ return "what's up";
+
+@simple_page.route('/nope')
+def nope():
+ return bad_request("oh hell no")
+
+def bad_request(message):
+ response = jsonify({'message': message})
+ response.status_code = 400
+ return response
+
+
+#@simple_page.errorhandler(500)
+#def custom400(error):
+# response = jsonify({'message': error.description['message']})
+# # etc.
+
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)
diff --git a/share/Flask_test/test.py b/share/Flask_test/test.py
new file mode 100644
index 0000000..b383b0d
--- /dev/null
+++ b/share/Flask_test/test.py
@@ -0,0 +1,46 @@
+import simplejson as json
+from flask import Flask
+from flask import abort, redirect, url_for
+from blueprint_test import simple_page
+app = Flask(__name__)
+app.register_blueprint(simple_page)
+#app.logger.debug('A value for debugging')
+#app.logger.warning('A warning occurred (%d apples)', 42)
+#app.logger.error('An error occurred')
+
+@app.route("/")
+def hello():
+ return "Hello World!"
+
+if __name__ == "__main__":
+ app.run()
+
+@app.route('/login', methods=['POST', 'GET'])
+def login():
+ error = None
+ if request.method == 'POST':
+ if valid_login(request.form['username'],
+ request.form['password']):
+ return log_the_user_in(request.form['username'])
+ else:
+ error = 'Invalid username/password'
+ #searchword = request.args.get('key', '')
+ # the code below is executed if the request method
+ # was GET or the credentials were invalid
+ return render_template('login.html', error=error)
+
+
+
+@app.route('/')
+def index():
+ return redirect(url_for('login'))
+
+@app.route('/login')
+def login():
+ abort(401)
+ this_is_never_executed()
+
+
+url_for('static', filename='style.css')
+
+
diff --git a/share/Flask_test/test2.py b/share/Flask_test/test2.py
new file mode 100644
index 0000000..0a831b6
--- /dev/null
+++ b/share/Flask_test/test2.py
@@ -0,0 +1 @@
+print __name__