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