feat: YAML config support (~/.config/redmine-reporter/config.yml)

- Add AppConfig/SmtpConfig/EmailConfig dataclasses with from_yaml()/from_env()
- Add yaml_config.py: ${VAR} resolver, 0700/0600 permission helpers
- Config.get_*() methods gain YAML fallback in priority chain
- Priority: CLI > env > .env > YAML > code defaults
- CLI --init-config generates YAML from current environment
- --force flag allows overwriting existing config
- Secrets default to ${VAR} references, plaintext allowed
- Full backward compatibility with existing .env setups

Closes #46
This commit is contained in:
Кокос Артем Николаевич
2026-07-03 18:00:28 +07:00
parent 676f7ede30
commit c962a93f30
7 changed files with 815 additions and 22 deletions

View File

@@ -24,6 +24,7 @@ dependencies = [
"python-dotenv>=1.0.0",
"odfpy>=1.4.0",
"openpyxl>=3.1.0",
"pyyaml>=6.0",
]
[project.optional-dependencies]