diff options
| -rw-r--r-- | photoblaster/server.py | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/photoblaster/server.py b/photoblaster/server.py index 4a80fd0..081e16a 100644 --- a/photoblaster/server.py +++ b/photoblaster/server.py @@ -9,8 +9,7 @@ from paste.translogger import TransLogger import simplejson as json import urllib2 -from photoblaster.modules import PbGenerate, PbGrid, PbBreaker, PbPattern,\ - PbLandscape, PbGradient, PbProcessError, Pb +from photoblaster.modules import Modules, PbProcessError from photoblaster.db.models.imcmd import ImCmd from photoblaster.param import BadParamError from photoblaster.config import SERVER_HOST, SERVER_PORT, STATIC_FOLDER, \ @@ -52,12 +51,12 @@ GALLERY_TAG_TRANS = { # and this jsonp thing _CLASSNAME_ALIASES = { - 'generate': 'PbGenerate', - 'imgrid': 'PbGrid', - 'imbreak': 'PbBreaker', - 'impattern': 'PbPattern', - 'imgradient': 'PbGradient', - 'landscape': 'PbLandscape', + 'generate': 'pbgenerate', + 'imgrid': 'pbgrid', + 'imbreak': 'pbbreaker', + 'impattern': 'pbpattern', + 'imgradient': 'pbgradient', + 'landscape': 'pblandscape', } @@ -82,6 +81,7 @@ class Server(object): """Main server class""" def __init__(self): self.app = Flask(__name__, static_folder=STATIC_FOLDER) + self.modules = Modules() self._wsgi_server = None self._classname_aliases = _CLASSNAME_ALIASES @@ -128,7 +128,6 @@ class Server(object): # send_static_file will guess the correct MIME type return self.app.send_static_file(path) - @self.app.route('/proxy', methods=['GET']) def proxy_image(): url = request.args.get("url") @@ -166,7 +165,8 @@ class Server(object): search_params = {"deleted": None} qs = [] if request.args.get('tag'): - search_params['tag'] = GALLERY_TAG_TRANS.get(request.args['tag'], request.args['tag']) + search_params['tag'] = GALLERY_TAG_TRANS.get( + request.args['tag'], request.args['tag']) qs.append("tag=" + request.args['tag']) if request.args.get('name'): search_params['name'] = request.args['name'] @@ -217,12 +217,10 @@ class Server(object): return send_from_directory(WORKING_DIR, path) def _find_class_by_name(self, pb_classname): - pb_classname = self._classname_aliases.get(pb_classname, None) \ - or pb_classname + pb_classname = self._classname_aliases.get(pb_classname, None) or \ + pb_classname try: - return filter( - lambda c: c.__name__ == pb_classname, Pb.__subclasses__() - )[0] + return self.modules.get_module(pb_classname) except IndexError: raise InvalidUsage('No such api', status_code=410) |
