diff options
| author | pepperpepperpepper <pepper@scannerjammer.com> | 2015-10-06 20:06:15 -0700 |
|---|---|---|
| committer | pepperpepperpepper <pepper@scannerjammer.com> | 2015-10-06 20:06:15 -0700 |
| commit | 14b6ac27f1b4e910886389f5d5980ac6c586825d (patch) | |
| tree | dd3bccc88e33f0481b4cab0c39a821a6c2f468bd /lib/server.py | |
| parent | 55636242fb42009fac80656ad5106ad2717bcd75 (diff) | |
| parent | 24cbbdbf904403f79c07bb4d358fa4293e3e6709 (diff) | |
merging
Merge branch 'master' of ghghgh.us:photoblaster/photoblaster
Diffstat (limited to 'lib/server.py')
| -rw-r--r-- | lib/server.py | 23 |
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 |
