def api_endpoints(): ret = { "ok": False, "msg": "", "data": [], } q = request.args.get("q") or "" raw_tag = request.args.get("tags") or "" tags = raw_tag and [x.strip() for x in raw_tag.split(",")] or [] limit = int(request.args.get("limit") or 100) if not q and not tags: ret["msg"] = "no query params given" return json.dumps(ret) endpoints = [] if tags and q: endpoint_ids = TagEndpoint.get_endpoint_ids(tags, limit=limit) or [] endpoints = Endpoint.search_in_ids(q.split(), endpoint_ids) elif tags: endpoint_ids = TagEndpoint.get_endpoint_ids(tags, limit=limit) or [] endpoints = Endpoint.gets(endpoint_ids) else: endpoints = Endpoint.search(q.split(), limit=limit) endpoints_str = [x.endpoint for x in endpoints] endpoints_str.sort() ret['data'] = endpoints_str ret['ok'] = True return json.dumps(ret)
def api_endpoints(): ret = { "ok": False, "msg": "", "data": [], } q = request.args.get("q") or "" raw_tag = request.args.get("tags") or "" tags = raw_tag and [x.strip() for x in raw_tag.split(",")] or [] limit = int(request.args.get("limit") or 100) if not q and not tags: ret["msg"] = "no query params given" return json.dumps(ret) endpoints = [] if tags and q: endpoint_ids = TagEndpoint.get_endpoint_ids(tags, limit=limit) or [] endpoints = Endpoint.search_in_ids(q.split(), endpoint_ids) elif tags: endpoint_ids = TagEndpoint.get_endpoint_ids(tags, limit=limit) or [] endpoints = Endpoint.gets(endpoint_ids) elif q == 'all': endpoints = Endpoint.search([], limit=limit) else: endpoints = Endpoint.search(q.split(), limit=limit) endpoints_str = [x.endpoint for x in endpoints] endpoints_str.sort() ret['data'] = endpoints_str ret['ok'] = True return json.dumps(ret)