def send_batch(self, batch): """ Sends a Batch object containing no more than 100 Lookup objects to the US Street API and stores the results in the result field of the Lookup object. """ smartyrequest = Request() if len(batch) == 0: return converted_lookups = remap_keys(batch.all_lookups) if len(batch) == 1: smartyrequest.parameters = converted_lookups[0] else: smartyrequest.payload = self.serializer.serialize( converted_lookups) response = self.sender.send(smartyrequest) if response.error: raise response.error candidates = self.serializer.deserialize(response.payload) or [] assign_candidates_to_lookups(batch, candidates)
def build_request(lookup): request = Request() request.content_type = 'text/plain' request.payload = lookup.text Client.add_parameter(request, 'html', str(lookup.html).lower()) Client.add_parameter(request, 'aggressive', str(lookup.aggressive).lower()) Client.add_parameter(request, 'addr_line_breaks', str(lookup.addresses_have_line_breaks).lower()) Client.add_parameter(request, 'addr_per_line', lookup.addresses_per_line) return request
def build_request(self, lookup): request = Request() self.add_parameter(request, 'latitude', lookup.latitude) self.add_parameter(request, 'longitude', lookup.longitude) return request
def build_request(self, lookup): request = Request() self.add_parameter(request, 'prefix', lookup.prefix) self.add_parameter(request, 'suggestions', lookup.max_suggestions) self.add_parameter(request, 'city_filter', self.build_filter_string(lookup.city_filter)) self.add_parameter(request, 'state_filter', self.build_filter_string(lookup.state_filter)) self.add_parameter(request, 'prefer', self.build_filter_string(lookup.prefer)) self.add_parameter(request, 'prefer_ratio', lookup.prefer_ratio) if lookup.geolocate_type is not geolocation_type.NONE: request.parameters['geolocate'] = 'true' request.parameters['geolocate_precision'] = lookup.geolocate_type else: request.parameters['geolocate'] = 'false' return request
def build_request(self, lookup): request = Request() self.add_parameter(request, 'country', lookup.country) self.add_parameter(request, 'search', lookup.search) self.add_parameter(request, 'include_only_administrative_area', lookup.administrative_area) self.add_parameter(request, 'include_only_locality', lookup.locality) self.add_parameter(request, 'include_only_postal_code', lookup.postal_code) return request
def send_batch(self, batch): """ Sends a Batch object containing no more than 100 Lookup objects to the US ZIP Code API and stores the results in the result field of the Lookup object. """ smartyrequest = Request() if len(batch) == 0: return converted_lookups = remap_keys(batch.all_lookups) smartyrequest.payload = self.serializer.serialize(converted_lookups) response = self.sender.send(smartyrequest) if response.error: raise response.error results = self.serializer.deserialize(response.payload) if results is None: results = [] assign_results_to_lookups(batch, results)
def build_request(self, lookup): request = Request() self.add_parameter(request, 'country', lookup.country) self.add_parameter(request, 'geocode', str(lookup.geocode).lower()) self.add_parameter(request, 'language', lookup.language) self.add_parameter(request, 'freeform', lookup.freeform) self.add_parameter(request, 'address1', lookup.address1) self.add_parameter(request, 'address2', lookup.address2) self.add_parameter(request, 'address3', lookup.address3) self.add_parameter(request, 'address4', lookup.address4) self.add_parameter(request, 'organization', lookup.organization) self.add_parameter(request, 'locality', lookup.locality) self.add_parameter(request, 'administrative_area', lookup.administrative_area) self.add_parameter(request, 'postal_code', lookup.postal_code) return request
def send_with_retry(retries, inner): request = Request() sender = RetrySender(retries, inner) return sender.send(request)