rendered paste bodyimport ConfigParserimport loggingLOGINFO = logging.INFOLOGWARN = logging.WARNLOGDEBUG = logging.DEBUGdef LoadConfig(file, config={}): """ returns a dictionary with keys of the form <section>.<option> and the corresponding values """ config = config.copy() cp = ConfigParser.RawConfigParser() cp.read(file) for sec in cp.sections(): name = string.lower(sec) for opt in cp.options(sec): config[name + '.' + string.lower(opt)] = string.strip(cp.get(sec, opt)) return configdef InitLogger(name, level): """ returns a logger with specified name and loglevel """ logger = logging.getLogger(name) fhdlr = logging.FileHandler(name + '.log') shdlr = logging.StreamHandler() formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') fhdlr.setFormatter(formatter) shdlr.setFormatter(formatter) logger.addHandler(fhdlr) logger.addHandler(shdlr) logger.setLevel(level) return logger