summaryrefslogtreecommitdiff
path: root/lib/server.py
diff options
context:
space:
mode:
authorpepperpepperpepper <pepper@scannerjammer.com>2015-10-06 20:06:15 -0700
committerpepperpepperpepper <pepper@scannerjammer.com>2015-10-06 20:06:15 -0700
commit14b6ac27f1b4e910886389f5d5980ac6c586825d (patch)
treedd3bccc88e33f0481b4cab0c39a821a6c2f468bd /lib/server.py
parent55636242fb42009fac80656ad5106ad2717bcd75 (diff)
parent24cbbdbf904403f79c07bb4d358fa4293e3e6709 (diff)
merging
Merge branch 'master' of ghghgh.us:photoblaster/photoblaster
Diffstat (limited to 'lib/server.py')
-rw-r--r--lib/server.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/lib/server.py b/lib/server.py
index df6af4f..5c0df9b 100644
--- a/lib/server.py
+++ b/lib/server.py
@@ -1,13 +1,15 @@
"""All webserver logic lives here, including routes"""
-from flask import Flask
+from flask import Flask, Response
from flask import request, jsonify
import sys, os, re
import cherrypy
from paste.translogger import TransLogger
+import simplejson as json
sys.path.append("./lib")
from pb import *
+from db import Db
from param import BadParamError
from config import SERVER_HOST, SERVER_PORT
@@ -66,6 +68,25 @@ class Server(object):
'imgradient' : 'PbGradient',
'landscape' : 'PbLandscape',
}
+ @self.app.route('/im/data', methods=['GET'])
+ def get_data():
+ args_dict = request.args.to_dict()
+ query_dict = {}
+ for elem in ["newfile", "time"]:
+ if args_dict.get(elem):
+ query_dict[elem] = args_dict.get(elem)
+ if args_dict:
+ try:
+ db = Db()
+ return Response(
+ #flask prevents from returning arrays, so we need the json module
+ json.dumps(db.search(**query_dict)),
+ mimetype='application/json'
+ )
+ except Exception as e:
+ return str(e)
+ else:
+ raise InvalidUsage('Improper Usage', status_code=410)
def _find_class_by_name(self, pb_classname):
pb_classname = self._classname_aliases.get(pb_classname, None) or pb_classname