| @@ -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) | ||||