#! /usr/bin/env python import cgitb; cgitb.enable() import cgi, os INDEXPATH = '/home/arigo/pub/indices' form = cgi.FieldStorage() textchecksum = form["sha"].value checksum = textchecksum.decode('hex') from indexdb import IndexDB db = IndexDB(INDEXPATH) db.update() try: filename = db[checksum] except KeyError: print 'Content-type: text/html' print 'Status: 404 Not Found' print print '
' print 'No document found with SHA checksum %s.
' % (textchecksum,) print '' else: from pubfile import PubFile p = PubFile(os.path.join(INDEXPATH, filename + '.pub')) server = p['Server'] url = '%s?sha=%s' % (server, textchecksum) print 'Location:', url print 'Content-type: text/html' print print '' print 'This document comes from %s.' % (url, url) print ''