def cgi_main(): form = cgi.FieldStorage() if form.has_key("repository"): repository = provisioning.get_rep_by_name(form["repository"].value) message, status = "", True if form.has_key("add_file") and form["add_file"].file: filename = form["add_file"].filename fileobj = form["add_file"].file message, status = add_file(repository, fileobj, filename) if form.has_key("delete_file"): message, status = delete_file(repository, form["delete_file"].value) manage_repository_page(repository, message, status) elif form.has_key("new_conf"): message, status = edit_config(form["new_conf"].value) provisioning.init(SERVER_ROOT) choose_repository_page(message, status) else: choose_repository_page()
print '<a class=screen href="%s">...Edit</a>' % (manage_url) print "</div></div>" if not message == "": if status == True: print "<div class=message>%s</div>" % (message) else: print "<div class=error_message>%s</div>" % (message) print """<p>Edit repository configuration directly:</p> <form action="%s" method=post> """ % (provisioning.SERVER.admin_console()) conf_xml = provisioning.get_config() print """ <textarea name="new_conf" rows=20 cols=80>%s</textarea><br> <input type=submit value=Submit> <input type=reset> </form> """ % (conf_xml) except Exception, e: print "<div class=error_message>Sorry, an error occured.</div>" sys.stderr.write("Cannot show 'choose repository page': %s, %s" % (Exception, e)) provisioning.print_html_footer() try: cgitb.enable() provisioning.init(SERVER_ROOT) cgi_main() except Exception, e: sys.stderr.write("Provisioning server error: %s, %s" % (Exception, e))
repository = provisioning.get_rep_by_name(form["repository"].value) elif len(provisioning.SERVER.content)>0: repository = provisioning.SERVER.content[0] else: server_is_empty() if form.has_key("id"): if form.has_key("installed"): print return print provisioning.TEXT_HEADER fileurl = form["id"].value return_fileinfo(repository, fileurl) return if form.has_key("type"): if form["type"].value == "xml": process_dir_xml(repository) else: process_dir_html(repository) else: process_dir_html(repository) # ------------ START try: cgitb.enable() provisioning.init(SERVER_ROOT) cgi_main() except Exception, e: sys.stderr.write("Provisioning server error: %s, %s" %(Exception, e))