#21996 closed Bug (fixed)
UnicodeDecodeError when calling GeoIP.country
Description ¶
GeoIP.country('IP') raises an UnicodeDecodeError when dealing with countries with accents.
For example:
g = GeoIP() g.country('200.7.49.81')
Should returns "Curaçao" instead:
In [2]: g = GeoIP() In [3]: g.country('200.7.49.81') --------------------------------------------------------------------------- UnicodeDecodeError Traceback (most recent call last) <ipython-input-3-3f21b2954917> in <module>() ----> 1 g.country('200.7.49.81') /Users/thoas/Sites/Python/Ulule/.ven/ulule/lib/python2.7/site-packages/django/contrib/gis/geoip/base.pyc in country(self, query) 193 # Returning the country code and name 194 return {'country_code' : self.country_code(query), --> 195 'country_name' : self.country_name(query), 196 } 197 /Users/thoas/Sites/Python/Ulule/.ven/ulule/lib/python2.7/site-packages/django/contrib/gis/geoip/base.pyc in country_name(self, query) 179 if self._country: 180 if ipv4_re.match(query): --> 181 return GeoIP_country_name_by_addr(self._country, enc_query) 182 else: 183 return GeoIP_country_name_by_name(self._country, enc_query) /Users/thoas/Sites/Python/Ulule/.ven/ulule/lib/python2.7/site-packages/django/contrib/gis/geoip/prototypes.pyc in _err_check(result, func, cargs) 103 def _err_check(result, func, cargs): 104 if result: --> 105 return result.decode() 106 return result 107 func.restype = c_char_p
Change History (6)
comment:1 by , 11 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
Triage Stage: | Unreviewed → Accepted |
by , 11 years ago
Attachment: | 21996.diff added |
---|
comment:2 by , 11 years ago
Has patch: | set |
---|
comment:4 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.
Could you please test the attached patch?