def do_search_extracts(request): uri = request.GET.get('uri', None) if not uri: raise HTTPClientError("Please specify a URI") view_def = request.GET.get('view') or 'default' discussion = request.context user_id = authenticated_userid(request) if not user_id: # Straight from annotator token = request.headers.get('X-Annotator-Auth-Token') if token: token = decode_token(token, request.registry.settings['session.secret']) if token: user_id = token['userId'] user_id = user_id or Everyone if not user_has_permission(discussion.id, user_id, P_READ): raise HTTPForbidden() permissions = [P_READ] if not uri: raise HTTPBadRequest("Please specify a search uri") content = Webpage.get_by(url=uri) if content: extracts = Extract.default_db.query(Extract).filter_by( content=content).all() rows = [ extract.generic_json(view_def, user_id, permissions) for extract in extracts ] return {"total": len(extracts), "rows": rows} return {"total": 0, "rows": []}
def do_search_extracts(request): uri = request.GET['uri'] view_def = request.GET.get('view') or 'default' discussion_id = int(request.matchdict['discussion_id']) user_id = authenticated_userid(request) or Everyone permissions = get_permissions(user_id, discussion_id) if not uri: return HTTPBadRequest("Please specify a search uri") content = Webpage.get_by(url=uri) if content: extracts = Extract.default_db.query(Extract).filter_by(content=content).all() rows = [ extract.generic_json(view_def, user_id, permissions) for extract in extracts] return {"total": len(extracts), "rows": rows} return {"total": 0, "rows": []}
def do_search_extracts(request): uri = request.GET['uri'] view_def = request.GET.get('view') or 'default' discussion_id = int(request.matchdict['discussion_id']) user_id = authenticated_userid(request) or Everyone permissions = get_permissions(user_id, discussion_id) if not uri: return HTTPBadRequest("Please specify a search uri") content = Webpage.get_by(url=uri) if content: extracts = Extract.default_db.query(Extract).filter_by(content=content).all() rows = [ extract.generic_json(view_def, user_id, permissions) for extract in extracts] return {"total": len(extracts), "rows": rows} return {"total": 0, "rows": []}