Skip to content

Commit 9e326de

Browse files
authored
Add Claim.reset_id() method (#570)
fix #472
1 parent c42e1ae commit 9e326de

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

test/test_wbi_core.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,3 +291,10 @@ def test_count_references(self):
291291

292292
def test_get_qualifier_properties(self):
293293
self.assertTrue(len(self.common_item.claims.get(property='P2067')))
294+
295+
def test_claim_reset_id(self):
296+
item = wbi.item.get('Q582')
297+
claim = item.claims.get('P31')[0]
298+
assert claim.id is not None
299+
claim.reset_id()
300+
assert claim.id is None

wikibaseintegrator/models/claims.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,8 @@ def __len__(self):
131131
class Claim(BaseModel):
132132
DTYPE = 'claim'
133133

134-
def __init__(self, qualifiers: Optional[Qualifiers] = None, rank: Optional[WikibaseRank] = None, references: Optional[Union[References, List[Union[Claim, List[Claim]]]]] = None, snaktype: WikibaseSnakType = WikibaseSnakType.KNOWN_VALUE) -> None:
134+
def __init__(self, qualifiers: Optional[Qualifiers] = None, rank: Optional[WikibaseRank] = None,
135+
references: Optional[Union[References, List[Union[Claim, List[Claim]]]]] = None, snaktype: WikibaseSnakType = WikibaseSnakType.KNOWN_VALUE) -> None:
135136
"""
136137
137138
:param qualifiers:
@@ -309,6 +310,12 @@ def has_equal_qualifiers(self, other: Claim) -> bool:
309310

310311
return True
311312

313+
def reset_id(self):
314+
"""
315+
Reset the ID of the current claim
316+
"""
317+
self.id = None
318+
312319
# TODO: rewrite this?
313320
def __contains__(self, item):
314321
if isinstance(item, Claim):

0 commit comments

Comments
 (0)