(value: str | None, alias_name: str)
| 28 | |
| 29 | |
| 30 | def expand_dsn_alias_env_var(value: str | None, alias_name: str) -> str | None: |
| 31 | if value is None: |
| 32 | return None |
| 33 | |
| 34 | match = ENV_VAR_PATTERN.fullmatch(value) |
| 35 | if not match: |
| 36 | return value |
| 37 | |
| 38 | var_name = match.group(1) |
| 39 | try: |
| 40 | return os.environ[var_name] |
| 41 | except KeyError as exc: |
| 42 | raise DsnAliasEnvVarError(f'Environment variable {var_name} referenced by DSN alias {alias_name} is not set.') from exc |
| 43 | |
| 44 | |
| 45 | def split_dsn_netloc(netloc: str) -> tuple[str | None, str | None, str | None, str | None]: |
no test coverage detected