Slide 56
Slide 56 text
I'VE GOT YOU
COVERED
class GeolocatorBolt(AutoAckBolt):
class Default(Stream):
fields = 'lat', 'long'
def __init__(self, *args, **kwargs):
self.geoip = pygeoip.GeoIP('GeoLiteCity.dat')
super(GeolocatorBolt, self) \
.__init__(*args, **kwargs)
def execute(self, input):
record = self.geoip.record_by_addr(input.ip)
lat = record['latitude']
long_ = record['longitude']
self.emit((lat, long_))