diff options
Diffstat (limited to 'ebus/webapp/soup_plugin.py')
-rw-r--r-- | ebus/webapp/soup_plugin.py | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/ebus/webapp/soup_plugin.py b/ebus/webapp/soup_plugin.py deleted file mode 100644 index e85d0b0..0000000 --- a/ebus/webapp/soup_plugin.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -# vim: autoindent tabstop=4 shiftwidth=4 expandtab softtabstop=4 filetype=python - -import inspect - -from sqlalchemy import create_engine, text -#from sqlalchemy.ext.sqlsoup import SqlSoup -from sqlsoup import SQLSoup as SqlSoup - - -class SoupPlugin(object): - name = 'soup' - def __init__(self, url, echo=False, keyword='soup'): - self.url = url - self.keyword = keyword - self.echo = echo - - def setup(self, app): - for other in app.plugins: - if not isinstance(other, SoupPlugin): continue - if other.keyword == self.keyword: - raise PluginError("Found another soup plugin with "\ - "conflicting settings (non-unique keyword).") - - self.engine = create_engine(self.url, echo=self.echo) - self.soup = SqlSoup(self.engine) - - - def apply(self, callback, context): - print "apply" - conf = context['config'].get('soup') or {} - keyword = conf.get('keyword', self.keyword) - - args = inspect.getargspec(context['callback'])[0] - if keyword not in args: - return callback - - def wrapper(*args, **kwargs): - kwargs[keyword] = self.soup - return callback(*args, **kwargs) - - return wrapper |