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()
Beispiel #2
0
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()
Beispiel #3
0
            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))