from typing import Optional
from typing import Dict


def _replace_hardcoded_section_names(section_name: Optional[str]) -> Optional[str]:
    """
    Replace section names that differ because of "Datenschiefstände"
    :param section_name:
    :return:
    """
    if not section_name:
        return section_name
    replacements: Dict[str, str] = {
        # https://github.com/Hochfrequenz/edifact-templates/issues/82
        # pylint: disable=line-too-long
        "OBIS-Kennzahl der Zähleinrichtung / Mengenumwerter / Smartmeter-Gateway": "OBIS-Kennzahl der Zähleinrichtung / Mengenumwerter",
        "OBIS-Daten der Zähleinrichtung / Mengenumwerter / Smartmeter-Gateway": "OBIS-Daten der Zähleinrichtung / Mengenumwerter",
        # https://github.com/Hochfrequenz/edifact-templates/issues/80
        "OBIS Daten für Lieferant relevant": "OBIS Daten für Marktrolle relevant",
    }
    if section_name.strip() in replacements:
        return replacements[section_name]
    return section_name