Xqt has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/965060 )

Change subject: Clarify typing for Wikibase write methods
......................................................................

Clarify typing for Wikibase write methods

The type for WikibaseEntity.editEntity(data) was incorrect.
Data is either None, or always dict with strings as keys.
The values can be a union of the other types.

Change-Id: I09e7206222b9f89afc24fe74905bb81c0e52d0d7
---
M pywikibot/page/_wikibase.py
1 file changed, 22 insertions(+), 6 deletions(-)

Approvals:
  jenkins-bot: Verified
  Xqt: Looks good to me, approved




diff --git a/pywikibot/page/_wikibase.py b/pywikibot/page/_wikibase.py
index 5141e00..c0530eb 100644
--- a/pywikibot/page/_wikibase.py
+++ b/pywikibot/page/_wikibase.py
@@ -64,10 +64,12 @@
 )


-ALIASES_TYPE = Dict[Union[str, pywikibot.APISite], List[str]]
-LANGUAGE_TYPE = Dict[Union[str, pywikibot.APISite], str]
+LANGUAGE_IDENTIFIER = Union[str, pywikibot.APISite]
+ALIASES_TYPE = Dict[LANGUAGE_IDENTIFIER, List[str]]
+LANGUAGE_TYPE = Dict[LANGUAGE_IDENTIFIER, str]
 SITELINK_TYPE = Union['pywikibot.page.BasePage', 'pywikibot.page.BaseLink',
                       Dict[str, str]]
+ENTITY_DATA_TYPE = Dict[str, Union[LANGUAGE_TYPE, ALIASES_TYPE, SITELINK_TYPE]]


 class WikibaseEntity:
@@ -283,7 +285,7 @@

     def editEntity(
         self,
-        data: Union[LANGUAGE_TYPE, ALIASES_TYPE, SITELINK_TYPE, None] = None,
+        data: Union[ENTITY_DATA_TYPE, None] = None,
         **kwargs
     ) -> None:
         """Edit an entity using Wikibase ``wbeditentity`` API.
@@ -648,7 +650,7 @@
     @allow_asynchronous
     def editEntity(
         self,
-        data: Union[LANGUAGE_TYPE, ALIASES_TYPE, SITELINK_TYPE, None] = None,
+        data: Union[ENTITY_DATA_TYPE, None] = None,
         **kwargs: Any
     ) -> None:
         """Edit an entity using Wikibase ``wbeditentity`` API.
@@ -1114,7 +1116,7 @@
         """
         self.setSitelinks([sitelink], **kwargs)

-    def removeSitelink(self, site, **kwargs) -> None:
+    def removeSitelink(self, site: LANGUAGE_IDENTIFIER, **kwargs) -> None:
         """
         Remove a sitelink.

@@ -1122,7 +1124,8 @@
         """
         self.removeSitelinks([site], **kwargs)

-    def removeSitelinks(self, sites, **kwargs) -> None:
+    def removeSitelinks(self, sites: List[LANGUAGE_IDENTIFIER], **kwargs
+                        ) -> None:
         """
         Remove sitelinks.


--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/965060
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.wikimedia.org/r/settings

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I09e7206222b9f89afc24fe74905bb81c0e52d0d7
Gerrit-Change-Number: 965060
Gerrit-PatchSet: 1
Gerrit-Owner: Matěj Suchánek <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to