appliedsec / pygeoip

DEPRECATED: Pure Python API for Maxmind's binary GeoIP databases
https://github.com/appliedsec/pygeoip
GNU Lesser General Public License v3.0
481 stars 111 forks source link

return {} instead of None when record not found #79

Open freefrancisco opened 9 years ago

freefrancisco commented 9 years ago

country_name_by_addr(addr) fails when the record is not found:
/usr/local/lib/python2.7/dist-packages/pygeoip/init.pyc in country_name_by_addr(self, addr) 489 return const.COUNTRY_NAMES[country_id] 490 elif self._databaseType in const.CITY_EDITIONS: --> 491 return self.record_by_addr(addr).get('country_name') 492 else: 493 message = 'Invalid database type, expected Country or City'

AttributeError: 'NoneType' object has no attribute 'get'

In a previous version (0.2.6) that doesn't fail when a record is not found record_by_addr(addr) returns {} instead of None.