diff options
| author | rtp@google.com <rtp@google.com@5914aa95-5b3a-0410-a3b5-7b719e7fe9b2> | 2010-10-19 17:53:04 +0000 |
|---|---|---|
| committer | rtp@google.com <rtp@google.com@5914aa95-5b3a-0410-a3b5-7b719e7fe9b2> | 2010-10-19 17:53:04 +0000 |
| commit | 52af010315c044c11b8b238a6904b9d4a5b15743 (patch) | |
| tree | d6acc86ca4453726c7aaf91f628f3a007cf7f67f /freebase/api | |
| parent | 515d81a7b0f28ff20672b785f2845d2240b9ef56 (diff) | |
issue #12, search/geosearch should take generic args.
git-svn-id: http://freebase-python.googlecode.com/svn/trunk@256 5914aa95-5b3a-0410-a3b5-7b719e7fe9b2
Diffstat (limited to 'freebase/api')
| -rw-r--r-- | freebase/api/session.py | 75 |
1 files changed, 6 insertions, 69 deletions
diff --git a/freebase/api/session.py b/freebase/api/session.py index 15d7698..aad8d6c 100644 --- a/freebase/api/session.py +++ b/freebase/api/session.py @@ -840,53 +840,20 @@ class HTTPMetawebSession(MetawebSession): @json_params - def search(self, query, format=None, prefixed=None, limit=20, start=0, - type=None, type_strict="any", domain=None, domain_strict=None, - escape="html", timeout=None, mql_filter=None, mql_output=None): + def search(self, query, **kwargs): """ search freebase.com. For a more complete description, see http://www.freebase.com/docs/web_services/search""" service = "/api/service/search" form = dict(query=query) + form.update(kwargs) - if format: - form["format"] = format - if prefixed: - form["prefixed"] = prefixed - if limit: - form["limit"] = limit - if start: - form["start"] = start - if type: - form["type"] = type - if type_strict: - form["type_strict"] = type_strict - if domain: - form["domain"] = domain - if domain_strict: - form["domain_strict"] = domain_strict - if escape: - form["escape"] = escape - if timeout: - form["timeout"] = timeout - if mql_filter: - form["mql_filter"] = mql_filter - if mql_output: - form["mql_output"] = mql_output - - - r = self._httpreq_json(service, 'POST', form=form) - - return self._mqlresult(r) + return self._mqlresult(self._httpreq_json(service, 'POST', form=form)) @json_params - def geosearch(self, location=None, location_type=None, - mql_input=None, limit=20, start=0, type=None, - geometry_type=None, intersect=None, mql_filter=None, - within=None, inside=None, order_by=None, count=None, - format="json", mql_output=None): + def geosearch(self,format="json",**kwargs): """ perform a geosearch. For a more complete description, see http://www.freebase.com/api/service/geosearch?help """ @@ -896,38 +863,8 @@ class HTTPMetawebSession(MetawebSession): raise Exception("You have to give it something to work with") form = dict() - - if location: - form["location"] = location - if location_type: - form["location_type"] = location_type - if mql_input: - form["mql_input"] = mql_input - if limit: - form["limit"] = limit - if start: - form["start"] = start - if type: - form["type"] = type - if geometry_type: - form["geometry_type"] = geometry_type - if intersect: - form["intersect"] = intersect - if mql_filter: - form["mql_filter"] = mql_filter - if within: - form["within"] = within - if inside: - form["inside"] = inside - if order_by: - form["order_by"] = order_by - if count: - form["count"] = count - if format: - form["format"] = format - if mql_output: - form["mql_output"] = mql_output - + form.update(kwargs) + if format == "json": r = self._httpreq_json(service, 'POST', form=form) else: |
