Add zipcode plugin

This commit is contained in:
minerobber 2019-05-27 04:38:42 +00:00
parent a7f9df91ad
commit 5a4fc113d5
2 changed files with 25 additions and 0 deletions

16
plugins/zipcode.py Normal file
View File

@ -0,0 +1,16 @@
import plugin, zipcode, importlib
importlib.reload(zipcode)
@plugin.command("zipcode")
def zipcode_cmd(bot,channel,nick,zip,treat_errors="loud"):
try:
zip = int(zip)
except ValueError:
bot.say(channel,"ACCESS VIOLATION: Invalid zipcode "+zip)
return
if not zipcode.has_zipcode(zip):
if treat_errors=="loud":
bot.say(channel,"ACCESS VIOLATION: Unknown zipcode "+str(zip))
return
zip2 = zipcode.get_zipcode(zip)
bot.say(channel,nick+": {code:05} - {designation}{zip[primary_city]}, {zip[state]}{foreign} area {decom}(Area code {zip[area_codes]}, time zone {zip[timezone]})".format(zip=zip2,code=zip,decom=("(decommissioned) " if zip2["decommissioned"] else " ".strip()),foreign=(", {zip[country]}".format(zip=zip2) if zip2["country"]!="US" else " ".strip()),designation=("{} code for ".format(zip2["type"].lower()) if zip2["type"]!="STANDARD" else "")))

9
zipcode.py Normal file
View File

@ -0,0 +1,9 @@
import plugin, dictdata
zipcodes = dictdata.Numerical("zipcodes.json")
def has_zipcode(num):
return num in zipcodes
def get_zipcode(num):
return zipcodes[num]