Opened 2 years ago

Closed 2 years ago

#20384 closed Bug (fixed)

GeoIP doesn't support unicode path

Reported by: julian@… Owned by: nobody
Component: GIS Version: 1.5
Severity: Normal Keywords: geoip unicode
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no


If the path that GeoIP should use is a unicode object it will fail to properly parse/identify the GeoIP databases.

>>> from django.contrib.gis.geoip import GeoIP
>>> g = GeoIP(path='/path/to/GeoIP')
'GeoIP Library:\n\t1.4.8\nCountry:\n\tGEO-106FREE [...]\nCity:\n\tGEO-533LITE [...]'
>>> g = GeoIP(path=u'/path/to/GeoIP')
'GeoIP Library:\n\t1.4.8\nCountry:\n\t\nCity:\n\t'

Tested this on Python 2.7. The same effect occurs in py3k, but getting it to work there in the same way would require using byte literals in django/contrib/gis/geoip/", line 92, in __init__.

Using Linux kernel 3.8.5-1-ARCH, ext4 filesystem and Python 2.7.4.

Change History (2)

comment:1 Changed 2 years ago by claudep

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Triage Stage changed from Unreviewed to Accepted

GeoIP definitely needs some love... I'll see what I can do.

comment:2 Changed 2 years ago by Claude Paroz <claude@…>

  • Resolution set to fixed
  • Status changed from new to closed

In 465a29abe09012059b4a8ff34f1020f48879ad71:

Fixed #20384 -- Forced GeoIP_open path argument to bytestring

Thanks Julian Wachholz for the report.

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