summaryrefslogtreecommitdiff
path: root/pbserver.py
diff options
context:
space:
mode:
authoryo mama <pepper@scannerjammer.com>2015-09-21 18:47:01 -0700
committeryo mama <pepper@scannerjammer.com>2015-09-21 18:47:01 -0700
commit86c79f4372d7b2e7640a26473c7a4d331cdf7d16 (patch)
tree8c2815ee8f72524708248a30b8c91377678ad00a /pbserver.py
parentb29b0ec5f11dd66434cbdfba5287c4777d7f8ac9 (diff)
run_examples works
Diffstat (limited to 'pbserver.py')
-rwxr-xr-xpbserver.py217
1 files changed, 0 insertions, 217 deletions
diff --git a/pbserver.py b/pbserver.py
deleted file mode 100755
index 530e54f..0000000
--- a/pbserver.py
+++ /dev/null
@@ -1,217 +0,0 @@
-#!/usr/bin/python2.7
-from bottle import route, run, post, request, static_file
-
-from Pb.Gradient import Gradient
-from Pb.Imgrid import Imgrid
-from Pb.Breaker import Breaker
-from Pb.Pattern import Pattern
-from Pb.Generate import Generate
-from Pb.Imlandscape import Imlandscape
-
-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
-
-from boto.s3.connection import S3Connection
-from boto.s3.key import Key
-#
-try:
- db = Db();
-except Exception as e:
- sys.stderr.write("Could not connect to db:\n{}".format(e))
- sys.exit(1);
-BASE_URL = "http://i.asdf.us"
-
-def hashdir(filename):
- return sha.new(filename).hexdigest()[:2]
-
-def bin_identify (filepath):
- ident = Popen([BIN_IDENTIFY, filepath], stdout=PIPE).communicate()[0]
- partz = ident.split(" ")
- width,height = partz[2].split("x")
- return [ width, height ]
-
-def cleanup(filepath):
- try:
- call(['rm', filepath])
- except Exception as e:
- sys.stderr.write(str(e))
- raise
-
-def s3move(filename,objectname):
- try:
- conn = S3Connection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, is_secure=False)
- b = conn.get_bucket(BUCKET_NAME)
- k = Key(b)
- k.key = objectname
- k.set_contents_from_filename(filename)
- k.set_acl('public-read')
- k.storage_class = 'REDUCED_REDUNDANCY'
- except Exception as e:
- sys.stderr.write(str(e));
- raise(e)
-
-def format_im_data(im, insert_url="NULL"):
- directory = hashdir(im.filename)
- dimensions = bin_identify(im.filepath)
- size = Pb.file_size(im.filepath)
- objectname = "im/{}/{}".format(directory, im.filename)
- try:
- s3move(im.filepath, objectname)
- cleanup(im.filepath)
- db.insert_cmd(
- date=im._now,
- remote_addr=request.environ.get('REMOTE_ADDR', "NULL"),
- username=im.params.username or "NULL",
- url=insert_url,
- directory=directory,
- oldfile="NULL",
- newfile=im.filename,
- dataobj=";".join(im.commands),
- cmd=json.dumps(dict(im.params)),
- tag=im.__class__.__name__,
- )
- return json.dumps({
- 'url' : "{}/{}".format(BASE_URL, objectname),
- 'size' : size,
- 'width' : "{}px".format(dimensions[0]),
- 'height' : "{}px".format(dimensions[1]),
- })
- except Exception as e:
- sys.stderr.write("Problem sending to database or s3\n")
- sys.stderr.write(str(e))
- raise;
-
-
-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))
-
-
-@post('/im/api/imgradient')
-def gradient():
- try:
- im = Gradient(**(dict(request.forms)))
- im.create();
- return return_image(im)
- except Exception as e:
- sys.stderr.write("imgradient failure\n")
- 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/imgrid')
-def imgrid():
- try:
- im = Imgrid(**(dict(request.forms)))
- im.create();
- url= "NULL"
- for elem in [ im.params.imageinstead , im.params.bgimage, im.params.planebgimage ]:
- if elem:
- url = elem['url']
- break
- return return_image(im, url)
- except Exception as e:
- sys.stderr.write(str(e))
- return json.dumps({ 'error' : 'Request could not be processed' })
-
-@post('/im/api/generate')
-def generate():
- try:
- im = Generate(**(dict(request.forms)))
- im.create();
- return return_image(im)
- except Exception as e:
- sys.stderr.write(str(e))
- return json.dumps({ 'error' : 'Request could not be processed' })
-
-@post('/im/api/imbreak')
-def breaker():
- try:
- im = Breaker(**(dict(request.forms)))
- im.create();
- return return_image(im, im.params.url)
- except Exception as e:
- sys.stderr.write(str(e))
- return json.dumps({ 'error' : 'Request could not be processed' })
-
-@post('/im/api/impattern')
-def pattern():
- try:
- im = Pattern(**(dict(request.forms)))
- im.create();
- return return_image(im, im.params['image_url'])
- except Exception as e:
- sys.stderr.write(str(e)+"\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/imlandscape')
-def imlandscape():
- sys.stderr.write(str(dict(request.forms)))
- try:
- im = Imlandscape(**(dict(request.forms)))
- im.create();
- sys.stderr.write(str(im.params))
- return return_image(im, im.params['texture'])
- except Exception as e:
- sys.stderr.write(str(e))
- return json.dumps({ 'error' : 'Request could not be processed' })
-
-
-
-#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)
-
-
-