feat: update check (#561)

feat(update-check): add robust update check with interval support, state management, and CLI integration

- Implement version and interval-based update checks with configurable settings
- Add CLI command `kleinanzeigen-bot update-check` for manual checks
- Introduce state file with versioning, UTC timestamps, and migration logic
- Validate and normalize intervals (1d–4w) with fallback for invalid values
- Ensure correct handling of timezones and elapsed checks
- Improve error handling, logging, and internationalization (i18n)
- Add comprehensive test coverage for config, interval logic, migration, and CLI
- Align default config, translations, and schema with new functionality
- Improve help command UX by avoiding config/log loading for `--help`
- Update documentation and README with full feature overview
This commit is contained in:
Jens Bergmann
2025-06-27 07:52:40 +02:00
committed by GitHub
parent 4d4f3b4093
commit 5430f5cdc6
13 changed files with 1358 additions and 26 deletions

View File

@@ -47,23 +47,20 @@ dependencies = [
[dependency-groups] # https://peps.python.org/pep-0735/
dev = [
# security
"pip-audit",
# testing:
"pytest>=8.3.4",
"pytest-asyncio>=0.25.3",
"pytest-rerunfailures",
"pytest-cov>=6.0.0",
# linting:
"ruff",
"mypy",
"basedpyright",
# formatting
"autopep8",
"yamlfix",
# packaging:
"pyinstaller",
"platformdirs", # required by pyinstaller
"pip-audit",
"pytest>=8.3.4",
"pytest-asyncio>=0.25.3",
"pytest-rerunfailures",
"pytest-cov>=6.0.0",
"ruff",
"mypy",
"basedpyright",
"autopep8",
"yamlfix",
"pyinstaller",
"platformdirs",
"types-requests>=2.32.0.20250515",
"pytest-mock>=3.14.0",
]
[project.urls]