def make_replacements(replace): retval=[] for repl_line in replace.splitlines(): line=repl_line try: (metakeys,regexp,replacement,condkey,condregexp)=(None,None,None,None,None) if "&&" in line: (line,conditional) = line.split("&&") (condkey,condregexp) = conditional.split("=>") if "=>" in line: parts = line.split("=>") if len(parts) > 2: metakeys = map( lambda x: x.strip(), parts[0].split(",") ) (regexp,replacement)=parts[1:] else: (regexp,replacement)=parts if regexp: regexp = re_compile(regexp,line) if condregexp: condregexp = re_compile(condregexp,line) # A way to explicitly include spaces in the # replacement string. The .ini parser eats any # trailing spaces. replacement=replacement.replace(SPACE_REPLACE,' ') retval.append([repl_line,metakeys,regexp,replacement,condkey,condregexp]) except Exception as e: logger.error("Problem with Replacement Line:%s"%repl_line) raise exceptions.PersonalIniFailed(e,'replace_metadata unpacking failed',repl_line) # raise # print("replace lines:%s"%len(retval)) return retval
def make_generate_cover_settings(param): vlist = [] for line in param.splitlines(): if "=>" in line: try: (template,regexp,setting) = map( lambda x: x.strip(), line.split("=>") ) re_compile(regexp,line) vlist.append((template,regexp,setting)) except Exception, e: raise exceptions.PersonalIniFailed(e,line,param)