Esempio n. 1
0
    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)
Esempio n. 2
0
    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
Esempio n. 3
0
    def build_request(self, lookup):
        request = Request()

        self.add_parameter(request, 'latitude', lookup.latitude)
        self.add_parameter(request, 'longitude', lookup.longitude)

        return request
Esempio n. 4
0
    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
Esempio n. 5
0
    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)