diff --git a/wikibaseintegrator/models/references.py b/wikibaseintegrator/models/references.py index 8ab0f713..a566fb84 100644 --- a/wikibaseintegrator/models/references.py +++ b/wikibaseintegrator/models/references.py @@ -1,5 +1,6 @@ from __future__ import annotations +import logging from typing import TYPE_CHECKING, Any from wikibaseintegrator.models.basemodel import BaseModel @@ -9,6 +10,8 @@ if TYPE_CHECKING: from wikibaseintegrator.models.claims import Claim +log = logging.getLogger(__name__) + class References(BaseModel): def __init__(self) -> None: @@ -32,6 +35,13 @@ def get(self, hash: str | None = None) -> Reference | None: def add(self, reference: Reference | Claim | None = None, action_if_exists: ActionIfExists = ActionIfExists.REPLACE_ALL) -> References: from wikibaseintegrator.models.claims import Claim if isinstance(reference, Claim): + + if reference.qualifiers: + log.warning("WARNING: It is not possible to use a qualifier in a reference, it will be ignored.") + + if reference.references: + log.warning("WARNING: It is not possible to use a reference in a reference, it will be ignored.") + reference = Reference(snaks=Snaks().add(Snak().from_json(reference.get_json()['mainsnak']))) if reference is not None: