Skip to content

Commit

Permalink
[project @ Added a script that helps to update the valid TLD list for…
Browse files Browse the repository at this point in the history
… trust root matching]
  • Loading branch information
Kevin Turner committed Jun 25, 2008
1 parent 609ac9e commit 287cb7d
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions admin/gettlds.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
"""
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

0 comments on commit 287cb7d

Please sign in to comment.