def __init__(self, config=None): config = config or {} delim = config.get("DELIMITER", ":") # coerce PRE_PROCESS, PROCESS, and POST_PROCESS to lists if necessary, # by splitting on non-word characters self.__preprocess = Split(config.get("PRE_PROCESS"), delim) self.__process = Split(config.get("PROCESS"), delim) self.__postprocess = Split(config.get("POST_PROCESS"), delim) self.__wrapper = Split(config.get("WRAPPER"), delim) # unset PROCESS option unless explicitly specified in config if config.get("PROCESS") is None: self.__process = None self.__error = config.get("ERROR") or config.get("ERRORS") self.__autoreset = config.get("AUTO_RESET") is None or \ config.get("AUTO_RESET") self.__debug = config.get("DEBUG", 0) & DEBUG_SERVICE self.__context = config.get("CONTEXT") or Config.context(config) if not self.__context: raise TemplateException()