INNER CODE UNIT · Python

resolve_ext

keiyoushi/extensions-source · .github/scripts/generate-build-matrices.py:117

def resolve_ext(multisrcs: set[str], libs: set[str]) -> set[tuple[str, str]]:
    """
    returns all extensions which depend on any of the
    passed multisrcs or libs
    """
    if not multisrcs and not libs:
        return set()

    multisrc_pattern = '|'.join(map(re.escape, multisrcs)) if multisrcs else None
    lib_pattern = '|'.join(map(re.escape, libs)) if libs else None

    patterns = []
    if multisrc_pattern:
        patterns.append(rf"theme\s*=\s*['\"]({multisrc_pattern})['\"]")
    if lib_pattern:
        patterns.append(rf"project\([\"']:(?:lib):({lib_pattern})[\"']\)")

    regex = re.compile('|'.join(patterns))

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…