Browse Source

Fixing !geolocate when IP is reserved or unknown.

tags/v0.1^2
Ben Kurtovic 12 years ago
parent
commit
164b18b742
1 changed files with 10 additions and 8 deletions
  1. +10
    -8
      earwigbot/commands/geolocate.py

+ 10
- 8
earwigbot/commands/geolocate.py View File

@@ -56,16 +56,18 @@ class Geolocate(Command):
query = urllib2.urlopen(url.format(self.key, address)).read() query = urllib2.urlopen(url.format(self.key, address)).read()
res = json.loads(query) res = json.loads(query)


try:
country = res["countryName"].title()
region = res["regionName"].title()
city = res["cityName"].title()
latitude = res["latitude"]
longitude = res["longitude"]
utcoffset = res["timeZone"]
except KeyError:
country = res["countryName"].title()
region = res["regionName"].title()
city = res["cityName"].title()
latitude = res["latitude"]
longitude = res["longitude"]
utcoffset = res["timeZone"]
if not country and not region and not city:
self.reply(data, "IP \x0302{0}\x0F not found.".format(address)) self.reply(data, "IP \x0302{0}\x0F not found.".format(address))
return return
if country == "-" and region == "-" and city == "-":
self.reply(data, "IP \x0302{0}\x0F is reserved.".format(address))
return


msg = "{0}, {1}, {2} ({3}, {4}), UTC {5}" msg = "{0}, {1}, {2} ({3}, {4}), UTC {5}"
geo = msg.format(country, region, city, latitude, longitude, utcoffset) geo = msg.format(country, region, city, latitude, longitude, utcoffset)


Loading…
Cancel
Save