def _parse_replacements()

in src/externals.py [0:0]


def _parse_replacements(item : dict, context) -> list:
    replacements: list = []

    if 'replace' in item and isinstance(item['replace'], list):
        for it in item['replace']:

            def process(it):
                re_text = it['regex']
                replace = it['with']

                try:
                    re_compile = re.compile(re_text)
                except BaseException as e:
                    raise Exception("Failed to parse regex %s for %s." % (re_text, context)) from e

                def replace_function(text):
                    return re_compile.sub(replace, text)

                return replace_function

            replacements.append(process(it))

    return replacements