def main(index, links, key):
try:
index = file(index, 'rU', 0).read()
try:
links = file(links, 'rU', 0).read()
try:
source = build(index, links, key)
try:
html(source)
except:
plain('ERROR: the source could not be displayed.')
except:
plain('ERROR: the source could not be built.')
except:
plain('ERROR: %s (LINKS) cannot be found.' % links)
except:
plain('ERROR: %s (INDEX) cannot be found.' % index)
def build(index, links, key):
links = parse(links)
links = check(links)
links = write(links)
index = final(index, links, key)
return index
def parse(links):
links = links.splitlines()
for index in range(len(links)):
links[index] = links[index].split(' ', 1)
return links
def check(links):
from socket import socket
for index in range(len(links)):
try:
test = socket()
test.settimeout(0.05)
test.connect((links[index][0], 80))
except:
links[index][0] = None
return links
def write(links):
string = str()
for link in links:
string += '\t<h3>\n\t\t'
if link[0] is None:
string += link[1]
else:
string += '<a href="http://' + link[0] + '/">' + link[1] + '</a>'
string += '\n\t</h3>\n'
return string [:-1]
def final(index, links, key):
key = '<!--' + key + '-->'
index = index.replace(key, links)
return index
def html(string):
print 'Content-type: text/html'
print
print string
def plain(string):
print 'Content-type: text/plain'
print
print string
if __name__ == '__main__':
main('index.txt', 'links.txt', 'Python: Insert Links')