def _parse_global_ini_parameters()

in src/modules/get_pcmk_properties_db.py [0:0]


    def _parse_global_ini_parameters(self):
        """
        Parse global.ini parameters

        :return: A list of parameter dictionaries containing validation results.
        :rtype: list
        """
        parameters = []
        global_ini_defaults = self.constants["GLOBAL_INI"].get(self.os_type, {})

        with open(
            f"/usr/sap/{self.sid}/SYS/global/hdb/custom/config/global.ini",
            "r",
            encoding="utf-8",
        ) as file:
            global_ini_content = file.read().splitlines()

        section_start = global_ini_content.index("[ha_dr_provider_SAPHanaSR]")
        properties_slice = global_ini_content[section_start + 1 : section_start + 4]

        global_ini_properties = {
            key.strip(): val.strip()
            for line in properties_slice
            for key, sep, val in [line.partition("=")]
            if sep
        }

        for param_name, expected_value in global_ini_defaults.items():
            value = global_ini_properties.get(param_name, "")
            if isinstance(expected_value, list):
                if value in expected_value:
                    expected_value = value
            parameters.append(
                self._create_parameter(
                    category="global_ini",
                    name=param_name,
                    value=value,
                    expected_value=expected_value,
                )
            )

        return parameters