Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#21996 closed Bug (fixed)

UnicodeDecodeError when calling GeoIP.country

Reported by: Florent Messa <florent.messa@…> Owned by: Claude Paroz
Component: GIS Version: 1.6
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

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

Attachments (1)

21996.diff (1.5 KB ) - added by Claude Paroz 10 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 by Claude Paroz, 10 years ago

Owner: changed from nobody to Claude Paroz
Status: newassigned
Triage Stage: UnreviewedAccepted

by Claude Paroz, 10 years ago

Attachment: 21996.diff added

comment:2 by Claude Paroz, 10 years ago

Has patch: set

Could you please test the attached patch?

comment:3 by Florent Messa <florent.messa@…>, 10 years ago

Good for me, thank you for your quick review.

comment:4 by Claude Paroz <claude@…>, 10 years ago

Resolution: fixed
Status: assignedclosed

In fb1e3435a4d7e0265f19a1a9f130c9485fb8dfe9:

Fixed #21996 -- Used proper encoding for GeoIP content

Thanks Florent Messa for the report.

comment:5 by Claude Paroz <claude@…>, 10 years ago

In 76700c5437d4b5187f58a3f99104f45002d1524e:

[1.6.x] Fixed #21996 -- Used proper encoding for GeoIP content

Thanks Florent Messa for the report.
Backport of fb1e3435a4 from master.

Note: See TracTickets for help on using tickets.
Back to Top