[ooni-probe/develop] Support CPython with patch from lunar https://trac.torproject.org/projects/tor/ticket/8507

commit f5ccc326fa9715422bf0029a3f334643e247a9e8 Author: Arturo Filastò <art@fuffa.org> Date: Tue Mar 19 13:39:18 2013 -0400 Support CPython with patch from lunar https://trac.torproject.org/projects/tor/ticket/8507 --- ooni/utils/geodata.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/ooni/utils/geodata.py b/ooni/utils/geodata.py index d9883ba..5bc55a7 100644 --- a/ooni/utils/geodata.py +++ b/ooni/utils/geodata.py @@ -8,9 +8,14 @@ from ooni.utils import log, net from ooni import config try: - import pygeoip + from pygeoip import GeoIP except ImportError: - log.err("Unable to import pygeoip. We will not be able to run geo IP related measurements") + try: + import GeoIP as CGeoIP + def GeoIP(database_path, *args, **kwargs): + return CGeoIP.open(database_path) + except ImportError: + log.err("Unable to import pygeoip or GeoIP. We will not be able to run geo IP related measurements") class GeoIPDataFilesNotFound(Exception): pass @@ -22,13 +27,13 @@ def IPToLocation(ipaddr): location = {'city': None, 'countrycode': None, 'asn': None} try: - city_dat = pygeoip.GeoIP(city_file) + city_dat = GeoIP(city_file) location['city'] = city_dat.record_by_addr(ipaddr)['city'] - country_dat = pygeoip.GeoIP(country_file) + country_dat = GeoIP(country_file) location['countrycode'] = country_dat.country_code_by_addr(ipaddr) - asn_dat = pygeoip.GeoIP(asn_file) + asn_dat = GeoIP(asn_file) location['asn'] = asn_dat.org_by_addr(ipaddr) except IOError:
participants (1)
-
isis@torproject.org