def search(self, lat, lon, radius=None, query=None, category=None): """Search for places near a lat/lon, within a radius (in kilometers).""" precondition(is_valid_lat(lat), lat) precondition(is_valid_lon(lon), lon) precondition(radius is None or is_numeric(radius), radius) precondition(query is None or isinstance(query, basestring), query) precondition(category is None or isinstance(category, basestring), category) if isinstance(query, unicode): query = query.encode('utf-8') if isinstance(category, unicode): category = category.encode('utf-8') kwargs = { } if radius: kwargs['radius'] = radius if query: kwargs['q'] = query if category: kwargs['category'] = category endpoint = self._endpoint('search', lat=lat, lon=lon) result = self._request(endpoint, 'GET', data=kwargs)[1] fc = json_decode(result) return [Feature.from_dict(f) for f in fc['features']]
def search(self, lat, lon, radius=None, query=None, category=None): """Search for places near a lat/lon, within a radius (in kilometers).""" precondition(is_valid_lat(lat), lat) precondition(is_valid_lon(lon), lon) precondition(radius is None or is_numeric(radius), radius) precondition(query is None or isinstance(query, basestring), query) precondition(category is None or isinstance(category, basestring), category) if isinstance(query, unicode): query = query.encode('utf-8') if isinstance(category, unicode): category = category.encode('utf-8') kwargs = {} if radius: kwargs['radius'] = radius if query: kwargs['q'] = query if category: kwargs['category'] = category endpoint = self._endpoint('search', lat=lat, lon=lon) result = self._request(endpoint, 'GET', data=kwargs)[1] fc = json_decode(result) return [Feature.from_dict(f) for f in fc['features']]
def test_is_valid_lon(self): self.failUnless(is_valid_lon(180, strict=True)) self.failUnless(is_valid_lon(180.0, strict=True)) self.failUnless(is_valid_lon(D('180.0'), strict=True)) self.failUnless(is_valid_lon(-180, strict=True)) self.failUnless(is_valid_lon(-180.0, strict=True)) self.failUnless(is_valid_lon(D('-180.0'), strict=True)) self.failIf(is_valid_lon(180.0002, strict=True)) self.failIf(is_valid_lon(D('180.0002'), strict=True)) self.failIf(is_valid_lon(-180.0002, strict=True)) self.failIf(is_valid_lon(D('-180.0002'), strict=True)) self.failUnless(is_valid_lon(180.0002, strict=False)) self.failUnless(is_valid_lon(D('180.0002'), strict=False)) self.failUnless(is_valid_lon(-180.0002, strict=False)) self.failUnless(is_valid_lon(D('-180.0002'), strict=False)) self.failIf(is_valid_lon(360.0002, strict=False)) self.failIf(is_valid_lon(D('360.0002'), strict=False)) self.failIf(is_valid_lon(-360.0002, strict=False)) self.failIf(is_valid_lon(D('-360.0002'), strict=False))
def get_context(self, lat, lon): precondition(is_valid_lat(lat), lat) precondition(is_valid_lon(lon), lon) endpoint = self._endpoint('context', lat=lat, lon=lon) return json_decode(self._request(endpoint, "GET")[1])