INNER CODE UNIT · Python

filter_to_reference_keys

nielsfaber/scheduler-card · scripts/cleanup_translations.py:74

def filter_to_reference_keys(reference: dict, translation: dict) -> dict:
    """Like *cleanup* but preserves *translation* key order (for reorder detection)."""
    result: dict = {}
    for key, trans_value in translation.items():
        if key not in reference:
            continue
        ref_value = reference[key]
        if isinstance(ref_value, dict) and isinstance(trans_value, dict):
            result[key] = filter_to_reference_keys(ref_value, trans_value)
        elif not isinstance(ref_value, dict) and not isinstance(trans_value, dict):
            result[key] = trans_value
    return result


def reorder_to_reference(reference: dict, data: dict) -> dict:
    """Return *data* with keys reordered to match *reference* order.

    Only keys present in both *reference* and *data* are included.

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…