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