Tags: Lilomarry/geoip-api-python
Tags
Python 3 fix and documentation updates * The description for `org_by_name` incorrectly directed people to use `name_by_addr` rather than `name_by_name`. * Previously `GeoIP.country_names` was populated from `GeoIP_country_name` in the libGeoIP C API. Some versions of the libGeoIP include non-ASCII ISO-8859-1 characters in these names, causing encoding errors under Python 3. When installed under Python 3, this API now uses UTF-8 country names to populate this dict. Reported and fixed by Sergey Farbotka. GitHub PR maxmind#15.
Fix for broken strings in Python 3. Strings with non-ASCII characters would throw a UTF-8 decoding error. In Python 3, all strings from the database are in UTF-8 and using `set_charset` to set the character set to something other than UTF-8 will throw an `ValueError` exception.
Python 3 support * Python 3 support and significant code cleanup. ( Zack Weinberg ) * The methods `name_by_addr`, `name_by_addr_v6`, `name_by_name`, and `name_by_name_v6` were added for ISP, Org, and ASNum lookups. ( Carlos Rodrigues ) * Portability fixes. * Expose `GEOIP_MMAP_CACHE` from the C library. ( George Macon ) * Unit tests were added.