This commit is contained in:
Matthew Scragg 2014-01-13 17:07:13 -06:00
parent 99ce4acd00
commit 98c753aba6
12 changed files with 169 additions and 94 deletions

View file

@ -1,10 +1,8 @@
import redis
from sqlalchemy import create_engine
# Default DB connection
from flask.ext.sqlalchemy import SQLAlchemy
from realms import config
db = create_engine(config.DB_URI, encoding='utf8', echo=True)
db = SQLAlchemy()
# Default Cache connection
cache = redis.StrictRedis(host=config.REDIS_HOST, port=config.REDIS_PORT)

View file

@ -10,6 +10,34 @@ from realms import config
from realms.lib.services import cache
class AttrDict(dict):
def __init__(self, *args, **kwargs):
super(AttrDict, self).__init__(*args, **kwargs)
self.__dict__ = self
def to_json(data):
return json.dumps(to_dict(data), separators=(',', ':'))
def to_dict(data):
if not data:
return AttrDict()
def row2dict(row):
d = AttrDict()
for column in row.__table__.columns:
d[column.name] = getattr(row, column.name)
return d
if isinstance(data, list):
return [row2dict(x) for x in data]
else:
return row2dict(data)
def cache_it(fn):
def wrap(*args, **kw):
key = "%s:%s" % (args[0].table, args[1])
@ -40,26 +68,6 @@ def cache_it(fn):
return wrap
def to_json(res, first=False):
"""
Jsonify query result.
"""
res = to_dict(res, first)
return json.dumps(res, separators=(',', ':'))
def to_dict(cur, first=False):
if not cur:
return None
ret = []
for row in cur:
ret.append(row)
if ret and first:
return ret[0]
else:
return ret
def validate_captcha():
response = captcha.submit(
request.form['recaptcha_challenge_field'],

View file

@ -63,11 +63,6 @@ class Wiki():
self.path = path
@staticmethod
def is_registered(name):
s = Site()
return True if s.get_by_name(name) else False
def revert_page(self, name, commit_sha, message, username):
page = self.get_page(name, commit_sha)
if not page: