コード例 #1
0
ファイル: test_lookup.py プロジェクト: ping2ayan/mozillians
 def test_raise_on_error(self, mock_requests):
     mock_requests.get.return_value.raise_for_status.side_effect = HTTPError
     with self.assertRaises(GeoLookupException):
         reverse_geocode(40, 20)
     mock_requests.get.return_value.raise_for_status.side_effect = ConnectionError
     with self.assertRaises(GeoLookupException):
         reverse_geocode(40, 20)
コード例 #2
0
ファイル: test_lookup.py プロジェクト: TechnoAyan/mozillians
 def test_raise_on_error(self, mock_requests):
     mock_requests.get.return_value.raise_for_status.side_effect = HTTPError
     with self.assertRaises(GeoLookupException):
         reverse_geocode(40, 20)
     mock_requests.get.return_value.raise_for_status.side_effect = ConnectionError
     with self.assertRaises(GeoLookupException):
         reverse_geocode(40, 20)
コード例 #3
0
ファイル: models.py プロジェクト: ceh04/mozillians
    def reverse_geocode(self):
        """
        Use the user's lat and lng to set their city, region, and country.
        Does not save the profile.
        """
        if self.lat is None or self.lng is None:
            return

        from mozillians.geo.models import Country
        from mozillians.geo.lookup import reverse_geocode, GeoLookupException
        try:
            result = reverse_geocode(self.lat, self.lng)
        except GeoLookupException:
            if self.geo_country:
                # If self.geo_country is already set, just give up.
                pass
            else:
                # No country set, we need to at least set the placeholder one.
                self.geo_country = Country.objects.get(mapbox_id='geo_error')
                self.geo_region = None
                self.geo_city = None
        else:
            if result:
                country, region, city = result
                self.geo_country = country
                self.geo_region = region
                self.geo_city = city
            else:
                logger.error('Got back NONE from reverse_geocode on %s, %s' % (self.lng, self.lat))
コード例 #4
0
ファイル: models.py プロジェクト: Chaasof/mozillians
    def reverse_geocode(self):
        """
        Use the user's lat and lng to set their city, region, and country.
        Does not save the profile.
        """
        if self.lat is None or self.lng is None:
            return

        from mozillians.geo.models import Country
        from mozillians.geo.lookup import reverse_geocode, GeoLookupException
        try:
            result = reverse_geocode(self.lat, self.lng)
        except GeoLookupException:
            if self.geo_country:
                # If self.geo_country is already set, just give up.
                pass
            else:
                # No country set, we need to at least set the placeholder one.
                self.geo_country = Country.objects.get(mapbox_id='geo_error')
                self.geo_region = None
                self.geo_city = None
        else:
            if result:
                country, region, city = result
                self.geo_country = country
                self.geo_region = region
                self.geo_city = city
            else:
                logger.error('Got back NONE from reverse_geocode on %s, %s' %
                             (self.lng, self.lat))
コード例 #5
0
ファイル: models.py プロジェクト: J0WI/mozillians
 def reverse_geocode(self):
     """
     Use the user's lat and lng to set their city, region, and country.
     Does not save the profile.
     """
     if self.lat is None or self.lng is None:
         return
     from mozillians.geo.lookup import reverse_geocode
     try:
         result = reverse_geocode(self.lat, self.lng)
     except HTTPError:
         logger.exception("Error calling mapbox")
     else:
         if result:
             country, region, city = result
             self.geo_country = country
             self.geo_region = region
             self.geo_city = city
         else:
             logger.error("Got back NONE from reverse_geocode on %s, %s" % (self.lng, self.lat))
コード例 #6
0
    def reverse_geocode(self):
        """
        Use the user's lat and lng to set their city, region, and country.
        Does not save the profile.
        """
        if self.lat is None or self.lng is None:
            return

        from mozillians.geo.lookup import reverse_geocode

        try:
            result = reverse_geocode(self.lat, self.lng)
        except HTTPError:
            logger.exception('Error calling mapbox')
        else:
            if result:
                country, region, city = result
                self.geo_country = country
                self.geo_region = region
                self.geo_city = city
            else:
                logger.error('Got back NONE from reverse_geocode on %s, %s' %
                             (self.lng, self.lat))
コード例 #7
0
ファイル: test_lookup.py プロジェクト: ping2ayan/mozillians
 def test_results(self, mock_get_result, mock_result_to_country):
     # If any result, calls result_to_country_region_city
     mock_get_result.return_value = {'foo': 1}
     mock_result_to_country.return_value = (1, 2, 3)
     eq_((1, 2, 3), reverse_geocode(0.0, 0.0))
     mock_result_to_country.assert_called_with(mock_get_result.return_value)
コード例 #8
0
ファイル: test_lookup.py プロジェクト: ping2ayan/mozillians
 def test_empty(self, mock_get_result, mock_result_to_country):
     # If get result returns nothing, reverse_geocode returns Nones
     mock_get_result.return_value = {}
     eq_((None, None, None), reverse_geocode(0.0, 0.0))
     ok_(not mock_result_to_country.called)
コード例 #9
0
ファイル: test_lookup.py プロジェクト: TechnoAyan/mozillians
 def test_results(self, mock_get_result, mock_result_to_country):
     # If any result, calls result_to_country_region_city
     mock_get_result.return_value = {'foo': 1}
     mock_result_to_country.return_value = (1, 2, 3)
     eq_((1, 2, 3), reverse_geocode(0.0, 0.0))
     mock_result_to_country.assert_called_with(mock_get_result.return_value)
コード例 #10
0
ファイル: test_lookup.py プロジェクト: TechnoAyan/mozillians
 def test_empty(self, mock_get_result, mock_result_to_country):
     # If get result returns nothing, reverse_geocode returns Nones
     mock_get_result.return_value = {}
     eq_((None, None, None), reverse_geocode(0.0, 0.0))
     ok_(not mock_result_to_country.called)