All pastes #215389 Raw Edit

Anonymous

public text v1 · immutable
#215389 ·published 2006-10-22 16:17 UTC
rendered paste body
def parse_config(conf,server_list):
    """Parse site config and create a list of Server objects"""
    try:
        xml_file = parse(conf)
    except IOError, errno:
        print >> sys.stderr, "Cannont open file for parsing", conf.name, errno.args
        sys.exit(1)

    for srv in xml_file.getElementsByTagName('server'):
        # Get server attributes, and create Server object
        try:
            tmp_srv = Server(srv.getAttribute('name'))
            tmp_srv.mail_after_error_percentage = srv.getAttribute('mail_after_error_percentage')
            tmp_srv.sms_after_error_percentage = srv.getAttribute('sms_after_error_percentage')
        except ValueError, errno:
            print >> sys.stderr, "Bad values in config", errno.args
            sys.exit(1)
        # Step into websites now
        for site in srv.getElementsByTagName('website'):
            try:
                tmp_site = Website(site.getAttribute('url'))
                tmp_site.mail_after_errors = site.getAttribute('mail_after_errors')
                tmp_site.sms_after_errors = site.getAttribute('sms_after_errors')
                response = site.getAttribute('response')
                if response != '':
                    tmp_site.response = int(response)
            except ValueError, errno:
                print >> sys.stderr, "Bad values in config", errno.args
                sys.exit(1)
            tmp_srv.websites.append(tmp_site)
        server_list.append(tmp_srv);