|
65 | 65 | from urllib.parse import urljoin
|
66 | 66 |
|
67 | 67 | import jinja2
|
| 68 | +import platformdirs |
68 | 69 | import tomlkit
|
69 | 70 | import urllib3
|
70 | 71 | import zc.lockfile
|
71 |
| -from platformdirs import user_config_path, site_config_path |
72 | 72 |
|
73 | 73 | TYPE_CHECKING = False
|
74 | 74 | if TYPE_CHECKING:
|
75 | 75 | from collections.abc import Collection, Iterator, Sequence, Set
|
76 | 76 | from typing import Literal
|
77 | 77 |
|
78 | 78 | try:
|
79 |
| - from os import EX_OK, EX_SOFTWARE as EX_FAILURE |
| 79 | + from os import EX_OK |
| 80 | + from os import EX_SOFTWARE as EX_FAILURE |
80 | 81 | except ImportError:
|
81 | 82 | EX_OK, EX_FAILURE = 0, 1
|
82 | 83 |
|
@@ -279,7 +280,7 @@ def filter(self, language_tags: Sequence[str] = ()) -> Sequence[Language]:
|
279 | 280 | """Filter a sequence of languages according to --languages."""
|
280 | 281 | if language_tags:
|
281 | 282 | language_tags = frozenset(language_tags)
|
282 |
| - return [l for l in self if l.tag in language_tags] |
| 283 | + return [l for l in self if l.tag in language_tags] # NoQA: E741 |
283 | 284 | return list(self)
|
284 | 285 |
|
285 | 286 |
|
@@ -480,7 +481,7 @@ def setup_switchers(versions: Versions, languages: Languages, html_root: Path) -
|
480 | 481 | - Cross-link various languages in a language switcher
|
481 | 482 | - Cross-link various versions in a version switcher
|
482 | 483 | """
|
483 |
| - language_pairs = sorted((l.tag, l.switcher_label) for l in languages if l.in_prod) |
| 484 | + language_pairs = sorted((l.tag, l.switcher_label) for l in languages if l.in_prod) # NoQA: E741 |
484 | 485 | version_pairs = [(v.name, v.picker_label) for v in reversed(versions)]
|
485 | 486 |
|
486 | 487 | switchers_template_file = HERE / "templates" / "switchers.js"
|
@@ -1057,28 +1058,29 @@ def setup_logging(log_directory: Path, select_output: str | None) -> None:
|
1057 | 1058 |
|
1058 | 1059 |
|
1059 | 1060 | def load_environment_variables() -> None:
|
1060 |
| - _user_config_path = user_config_path("docsbuild-scripts") |
1061 |
| - _site_config_path = site_config_path("docsbuild-scripts") |
1062 |
| - if _user_config_path.is_file(): |
1063 |
| - ENV_CONF_FILE = _user_config_path |
1064 |
| - elif _site_config_path.is_file(): |
1065 |
| - ENV_CONF_FILE = _site_config_path |
| 1061 | + dbs_user_config = platformdirs.user_config_path("docsbuild-scripts") |
| 1062 | + dbs_site_config = platformdirs.site_config_path("docsbuild-scripts") |
| 1063 | + if dbs_user_config.is_file(): |
| 1064 | + env_conf_file = dbs_user_config |
| 1065 | + elif dbs_site_config.is_file(): |
| 1066 | + env_conf_file = dbs_site_config |
1066 | 1067 | else:
|
1067 | 1068 | logging.info(
|
1068 | 1069 | "No environment variables configured. "
|
1069 |
| - f"Configure in {_site_config_path} or {_user_config_path}." |
| 1070 | + f"Configure in {dbs_site_config} or {dbs_user_config}." |
1070 | 1071 | )
|
1071 | 1072 | return
|
1072 | 1073 |
|
1073 |
| - logging.info(f"Reading environment variables from {ENV_CONF_FILE}.") |
1074 |
| - if ENV_CONF_FILE == _site_config_path: |
1075 |
| - logging.info(f"You can override settings in {_user_config_path}.") |
1076 |
| - elif _site_config_path.is_file(): |
1077 |
| - logging.info(f"Overriding {_site_config_path}.") |
1078 |
| - with open(ENV_CONF_FILE, "r") as f: |
1079 |
| - for key, value in tomlkit.parse(f.read()).get("env", {}).items(): |
1080 |
| - logging.debug(f"Setting {key} in environment.") |
1081 |
| - os.environ[key] = value |
| 1074 | + logging.info(f"Reading environment variables from {env_conf_file}.") |
| 1075 | + if env_conf_file == dbs_site_config: |
| 1076 | + logging.info(f"You can override settings in {dbs_user_config}.") |
| 1077 | + elif dbs_site_config.is_file(): |
| 1078 | + logging.info(f"Overriding {dbs_site_config}.") |
| 1079 | + |
| 1080 | + env_config = env_conf_file.read_text(encoding="utf-8") |
| 1081 | + for key, value in tomlkit.parse(env_config).get("env", {}).items(): |
| 1082 | + logging.debug(f"Setting {key} in environment.") |
| 1083 | + os.environ[key] = value |
1082 | 1084 |
|
1083 | 1085 |
|
1084 | 1086 | def build_docs_with_lock(args: argparse.Namespace, lockfile_name: str) -> int:
|
|
0 commit comments