Mercurial > hg > config
comparison python/tld.py @ 812:0bc7c1a5eb83
make into an almost real CLI
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Fri, 28 Oct 2016 18:54:56 -0700 |
parents | c7edd15d7f8b |
children |
comparison
equal
deleted
inserted
replaced
811:0fffb3560641 | 812:0bc7c1a5eb83 |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 | |
3 """ | |
4 Top-Level Domain names (TLDs), country codes only | |
5 """ | |
6 | |
7 import argparse | |
8 import sys | |
9 import urllib2 | |
2 | 10 |
3 URL = 'http://www.palosverdes.com/jesse/irc/country.txt' | 11 URL = 'http://www.palosverdes.com/jesse/irc/country.txt' |
4 | 12 |
5 import urllib2 | |
6 | 13 |
7 def codes(): | 14 def codes(): |
8 f = urllib2.urlopen(URL) | 15 f = urllib2.urlopen(URL) |
9 codes = {} | 16 codes = {} |
10 for line in f.readlines(): | 17 for line in f.readlines(): |
14 key, value = line.split(None, 1) | 21 key, value = line.split(None, 1) |
15 codes[key.lower()] = value | 22 codes[key.lower()] = value |
16 return codes | 23 return codes |
17 codes = codes() | 24 codes = codes() |
18 | 25 |
26 | |
19 def get(code): | 27 def get(code): |
20 code = code.lstrip('.').lower() | 28 code = code.lstrip('.').lower() |
21 return codes.get(code) | 29 return codes.get(code) |
22 | 30 |
31 def main(args=sys.argv[1:]): | |
32 """CLI""" | |
33 | |
34 # parse command line | |
35 parser = argparse.ArgumentParser(description=__doc__) | |
36 parser.add_argument('tld', nargs='+', | |
37 help="country-code TLD to look up") | |
38 options = parser.parse_args(args) | |
39 | |
40 # lookup + output | |
41 for arg in options.tld: | |
42 print ('{}: {}'.format(arg, get(arg))) | |
43 | |
23 if __name__ == '__main__': | 44 if __name__ == '__main__': |
24 import sys | 45 main() |
25 for arg in sys.argv[1:]: | |
26 print '%s: %s' % (arg, get(arg)) |