3 current_version = "2010.04"
4 mirror_url = "http://download.grml.org/"
6 #### END OF CONFIGURATION ####
10 safe_regex = re.compile('^[a-zA-Z0-9_]+$')
12 def validate_input(value):
13 x = safe_regex.match(value)
15 raise Exception("unsafe input found" + str(x))
18 def get_download_url(flavour, arch, filetype):
21 if arch == "amd64": product = 'grml64'
25 product += '-' + flavour
32 'signature': '.sha1.asc'
34 fileext = filetypes[filetype]
35 if "rc" in current_version:
38 iso = product + '_' + current_version + '.iso' + fileext
39 return mirror_url + folder + iso
46 form = cgi.FieldStorage()
48 global current_version
49 current_version = form['version'].value
52 flavour = validate_input(form['flavour'].value)
53 arch = validate_input(form['arch'].value)
55 if "filetype" in form: filetype = validate_input(form['filetype'].value)
58 print "Location: " + get_download_url(flavour, arch, filetype)
61 print "Content-Type: text/html" # HTML is following
62 print # blank line, end of headers
63 print "<H1>Error</H1>"
64 print "Please select flavour and architecture."
67 if __name__ == "__main__":