From 770429f824c2d837c95f0c32b25a4fb127811abd Mon Sep 17 00:00:00 2001 From: Heavenfighter <33938595+Heavenfighter@users.noreply.github.com> Date: Thu, 5 Jun 2025 12:31:05 +0200 Subject: [PATCH] #533 Loading images from default config (#536) --- src/kleinanzeigen_bot/model/ad_model.py | 4 ++-- src/kleinanzeigen_bot/model/config_model.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/kleinanzeigen_bot/model/ad_model.py b/src/kleinanzeigen_bot/model/ad_model.py index 1b9594b..af8bf1a 100644 --- a/src/kleinanzeigen_bot/model/ad_model.py +++ b/src/kleinanzeigen_bot/model/ad_model.py @@ -153,7 +153,7 @@ class AdPartial(ContextualModel): """ Returns a complete, validated Ad by merging this partial with values from ad_defaults. - Any field that is `None` or `""` is filled from `ad_defaults`. + Any field that is `None` or `""` is filled from `ad_defaults` when it's not a list. Raises `ValidationError` when, after merging with `ad_defaults`, not all fields required by `Ad` are populated. """ @@ -162,7 +162,7 @@ class AdPartial(ContextualModel): target = ad_cfg, defaults = ad_defaults.model_dump(), ignore = lambda k, _: k == "description", # ignore legacy global description config - override = lambda _, v: v in {None, ""} # noqa: PLC1901 can be simplified + override = lambda _, v: not isinstance(v, list) and v in {None, ""} # noqa: PLC1901 can be simplified ) return Ad.model_validate(ad_cfg) diff --git a/src/kleinanzeigen_bot/model/config_model.py b/src/kleinanzeigen_bot/model/config_model.py index d069983..d938443 100644 --- a/src/kleinanzeigen_bot/model/config_model.py +++ b/src/kleinanzeigen_bot/model/config_model.py @@ -36,6 +36,7 @@ class AdDefaults(ContextualModel): price_type:Literal["FIXED", "NEGOTIABLE", "GIVE_AWAY", "NOT_APPLICABLE"] = "NEGOTIABLE" shipping_type:Literal["PICKUP", "SHIPPING", "NOT_APPLICABLE"] = "SHIPPING" sell_directly:bool = Field(default = False, description = "requires shipping_type SHIPPING to take effect") + images:List[str] | None = Field(default = None) contact:ContactDefaults = Field(default_factory = ContactDefaults) republication_interval:int = 7