Skip to content

common

common

create_full_pg_service_conf(pg_service_conf: str | None = None) -> dict

Source code in src/qgis_server_light/exporter/common.py
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
def create_full_pg_service_conf(pg_service_conf: str | None = None) -> dict:
    full_pg_service_config_env = {}
    try:
        logging.info(
            "Loading pg_service configs from ENVIRONMENT variable PGSERVICEFILE:"
        )
        full_config = pgserviceparser.full_config()
        for section in full_config.sections():
            full_pg_service_config_env[section] = dict(full_config[section])
            logging.info(f"  loaded service: {section}")
    except Exception as e:
        logging.info(f"  No service config loaded")
        logging.debug(f"  {e}")
    full_pg_service_config_passed = {}
    if pg_service_conf:
        try:
            logging.info("Loading pg_service configs from passed path")
            full_config = pgserviceparser.full_config(
                conf_file_path=Path(pg_service_conf)
            )
            for section in full_config.sections():
                full_pg_service_config_passed[section] = dict(full_config[section])
                logging.info(f"  loaded service: {section}")
        except Exception as e:
            logging.info(f"  No service config loaded")
            logging.debug(f"  {e}")
    full_pg_service_config = Exporter.merge_dicts(
        full_pg_service_config_env, full_pg_service_config_passed
    )
    return full_pg_service_config