Suggest API, emulates Google Refine API.
()
| 176 | @blueprint.route("/api/freebase/suggest", methods=["GET", "POST"]) |
| 177 | @talisman(content_security_policy=CSP) |
| 178 | def suggest_entity(): |
| 179 | """Suggest API, emulates Google Refine API.""" |
| 180 | require(request.authz.can_browse_anonymous) |
| 181 | prefix = request.args.get("prefix", "") |
| 182 | tag_request(prefix=prefix) |
| 183 | types = request.args.getlist("type") or Entity.THING |
| 184 | args = { |
| 185 | "prefix": prefix, |
| 186 | "filter:schemata": types, |
| 187 | "filter:collection_id": request.args.getlist("filter:collection_id"), |
| 188 | } |
| 189 | parser = SearchQueryParser(args, request.authz) |
| 190 | query = EntitiesQuery(parser) |
| 191 | result = query.search() |
| 192 | matches = list(entity_matches(result)) |
| 193 | return jsonify( |
| 194 | { |
| 195 | "code": "/api/status/ok", |
| 196 | "status": "200 OK", |
| 197 | "prefix": prefix, |
| 198 | "result": matches, |
| 199 | } |
| 200 | ) |
| 201 | |
| 202 | |
| 203 | @blueprint.route("/api/freebase/property", methods=["GET", "POST"]) |
nothing calls this directly
no test coverage detected