forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""
 | 
						|
Fetch the current TLD list from the IANA Web site, parse it, and print
 | 
						|
an expression suitable for direct insertion into each library's trust
 | 
						|
root validation module
 | 
						|
 | 
						|
Usage:
 | 
						|
  python gettlds.py (php|python|ruby)
 | 
						|
 | 
						|
Then cut-n-paste.
 | 
						|
"""
 | 
						|
 | 
						|
import urllib2
 | 
						|
 | 
						|
import sys
 | 
						|
 | 
						|
langs = {
 | 
						|
    'php': (r"'/\.(",
 | 
						|
            "'", "|", "|' .",
 | 
						|
            r")\.?$/'"),
 | 
						|
    'python': ("['",
 | 
						|
               "'", "', '", "',",
 | 
						|
               "']"),
 | 
						|
    'ruby': ("%w'",
 | 
						|
             "", " ", "",
 | 
						|
             "'"),
 | 
						|
    }
 | 
						|
 | 
						|
lang = sys.argv[1]
 | 
						|
prefix, line_prefix, separator, line_suffix, suffix = langs[lang]
 | 
						|
 | 
						|
f = urllib2.urlopen('http://data.iana.org/TLD/tlds-alpha-by-domain.txt')
 | 
						|
tlds = []
 | 
						|
output_line = ""
 | 
						|
for input_line in f:
 | 
						|
    if input_line.startswith('#'):
 | 
						|
        continue
 | 
						|
 | 
						|
    tld = input_line.strip().lower()
 | 
						|
    new_output_line = output_line + prefix + tld
 | 
						|
    if len(new_output_line) > 60:
 | 
						|
        print output_line + line_suffix
 | 
						|
        output_line = line_prefix + tld
 | 
						|
    else:
 | 
						|
        output_line = new_output_line
 | 
						|
    prefix = separator
 | 
						|
 | 
						|
print output_line + suffix
 |