1"""
2Fetch the current TLD list from the IANA Web site, parse it, and print
3an expression suitable for direct insertion into each library's trust
4root validation module
5
6Usage:
7  python gettlds.py (php|python|ruby)
8
9Then cut-n-paste.
10"""
11
12import urllib2
13
14import sys
15
16langs = {
17    'php': (r"'/\.(",
18            "'", "|", "|' .",
19            r")\.?$/'"),
20    'python': ("['",
21               "'", "', '", "',",
22               "']"),
23    'ruby': ("%w'",
24             "", " ", "",
25             "'"),
26    }
27
28lang = sys.argv[1]
29prefix, line_prefix, separator, line_suffix, suffix = langs[lang]
30
31f = urllib2.urlopen('http://data.iana.org/TLD/tlds-alpha-by-domain.txt')
32tlds = []
33output_line = ""
34for input_line in f:
35    if input_line.startswith('#'):
36        continue
37
38    tld = input_line.strip().lower()
39    new_output_line = output_line + prefix + tld
40    if len(new_output_line) > 60:
41        print output_line + line_suffix
42        output_line = line_prefix + tld
43    else:
44        output_line = new_output_line
45    prefix = separator
46
47print output_line + suffix
48