fix: wire dry-run source state policy

This commit is contained in:
2026-09-11 00:05:26 +02:00
parent 5e69c4e049
commit f4f71461ee
2 changed files with 72 additions and 3 deletions

View File

@@ -126,6 +126,7 @@ class PipelineRunner:
:rtype: PipelineRunner
"""
effective_dry_run = settings.app.dry_run if dry_run is None else dry_run
persistence_enabled = not effective_dry_run
theoretical_provider = get_theoretical_provider(
settings.app.theoretical_agenda_path,
settings.app.school_holidays_path,
@@ -136,7 +137,9 @@ class PipelineRunner:
AgendaComparator(theoretical_provider) if theoretical_provider is not None else None
)
blog_client = BlogRSSClient(settings.blog.rss_url) if settings.blog.enabled else None
blog_state = BlogRSSState() if settings.blog.enabled else None
blog_state = (
BlogRSSState(persistence_enabled=persistence_enabled) if settings.blog.enabled else None
)
return cls(
settings=settings,
pronote_fetcher=PronoteFetcher(
@@ -144,7 +147,9 @@ class PipelineRunner:
PronoteClient(
settings.pronote,
auth_state=(
PronoteAuthState() if settings.pronote.auth_mode == "qr_token" else None
PronoteAuthState(persistence_enabled=persistence_enabled)
if settings.pronote.auth_mode == "qr_token"
else None
),
),
),