Source code for swh.scheduler.cli.config

# Copyright (C) 2024  The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information

from __future__ import annotations

from typing import TYPE_CHECKING

# WARNING: do not import unnecessary things here to keep cli startup time under
# control


if TYPE_CHECKING:
    from typing import Any, Dict, Optional


[docs] def read_config(config_file: Optional[Any] = None) -> Dict: """Read configuration from config_file if provided, from the SWH_CONFIG_FILENAME if set or fallback to the DEFAULT_CONFIG. """ from os import environ from swh.core import config from swh.scheduler import DEFAULT_CONFIG, DEFAULT_CONFIG_RAW if config_file: conf = config.read(config_file, DEFAULT_CONFIG) elif "SWH_CONFIG_FILENAME" in environ: conf = config.load_from_envvar(DEFAULT_CONFIG_RAW) else: conf = config.read(None, DEFAULT_CONFIG) return conf