def setup(app): env = aiohttp_jinja2.setup( app, loader=jinja2.FileSystemLoader(cfg.TEMPLATE_PATH), auto_reload=cfg.TEMPLATE_AUTO_RELOAD, extensions=[ 'jinja2.ext.with_', ] ) env.globals.update({ 'str': str, 'enumerate': enumerate, 'datetime': datetime, 'len': len, 'cfg': cfg, 'static_url': static_url, 'url_for': lib.web.url_for, }) env.filters['json'] = lambda data: asjson.dumps(data, debug=cfg.DEBUG) env.filters['markdown'] = misaka.html webassets_env = webassets.loaders.YAMLLoader( 'cfg/webassets.yaml').load_environment() webassets_env.debug = cfg.DEBUG env.globals['webassets'] = webassets_env return env
def update(cls, username, metadata): user = User.objects.get(username=username) fields = metadata.keys() for field in fields: setattr(user, field, metadata[field]) user.save() response = instance_to_dict(user, UserApi.base_field) return Response(asjson.dumps(response), mimetype='application/json')
def delete(cls, username): user = User.objects.get(username=username) user.delete() return Response(asjson.dumps([]), mimetype='application/json')
def create(cls, metadata): user = User(**metadata).save() response = instance_to_dict(user, UserApi.base_field) return Response(asjson.dumps(response), mimetype='application/json')
def get(cls, username): user = User.objects.get(username=username) response = instance_to_dict(user, UserApi.base_field) return Response(asjson.dumps(response), mimetype='application/json')
def index(cls): users = User.objects.all() # we used wrapper "instance_to_dict" for select by based field model response = [instance_to_dict(user, UserApi.base_field) for user in users] return Response(asjson.dumps(response), mimetype='application/json')
def to_json(self): dump = json.dumps(dict(self), debug=True) if isinstance(dump, unicode): dump = dump.encode('utf-8') return dump
def jsonify_function(data, debug=False, **kwargs): json_debug = debug or cfg.DEBUG text = asjson.dumps(data, debug=json_debug) kwargs['content_type'] = kwargs.get('content_type', 'application/json') return web.Response(text=text, **kwargs)