jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/981476 )

Change subject: [cleanup] remove keys() and items() methods of api.Request
......................................................................

[cleanup] remove keys() and items() methods of api.Request

- remove keys() and items() methods of api.Request because they are
  already inherited from MutableMapping (but as view instead a list).
- deprecate iteritems() method; items should be used instead.

Bug: T310953
Change-Id: I800d6b3686d7d5fff579b0d49ff9b1a64ebc88ef
---
M ROADMAP.rst
M pywikibot/data/api/_requests.py
2 files changed, 26 insertions(+), 11 deletions(-)

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




diff --git a/ROADMAP.rst b/ROADMAP.rst
index 5286bd6..7535ee9 100644
--- a/ROADMAP.rst
+++ b/ROADMAP.rst
@@ -32,6 +32,7 @@
 Deprecations
 ------------

+* 9.0.0: ``iteritems`` method of :class:`data.api.Request` will be removed in 
favour of ``items``
 * 9.0.0: ``SequenceOutputter.output()`` is deprecated in favour of 
:attr:`tools.formatter.SequenceOutputter.out` property
 * 9.0.0: *nullcontext* context manager and *SimpleQueue* queue of 
:mod:`backports` are derecated
 * 8.4.0: *modules_only_mode* parameter of :class:`data.api.ParamInfo`, its 
*paraminfo_keys* class attribute
diff --git a/pywikibot/data/api/_requests.py b/pywikibot/data/api/_requests.py
index 61dad40..9cb8a99 100644
--- a/pywikibot/data/api/_requests.py
+++ b/pywikibot/data/api/_requests.py
@@ -38,7 +38,7 @@
 )
 from pywikibot.login import LoginStatus
 from pywikibot.textlib import removeDisabledParts, removeHTMLParts
-from pywikibot.tools import PYTHON_VERSION
+from pywikibot.tools import PYTHON_VERSION, deprecated


 __all__ = ('CachedRequest', 'Request', 'encode_url')
@@ -130,7 +130,10 @@
     ['namespaces', 'userinfo']

     .. versionchanged:: 8.4
-       inherited from WaitingMixin.
+       inherited from :class:`WaitingMixin`.
+
+    .. versionchanged:: 9.0
+       *keys* and *items* methods return a view object instead a list
     """

     # To make sure the default value of 'parameters' can be identified.
@@ -382,10 +385,6 @@
         """Implement dict interface."""
         del self._params[key]

-    def keys(self):
-        """Implement dict interface."""
-        return list(self._params)
-
     def __iter__(self):
         """Implement dict interface."""
         return iter(self._params)
@@ -394,13 +393,14 @@
         """Implement dict interface."""
         return len(self._params)

+    @deprecated('items()', since='9.0.0')
     def iteritems(self):
-        """Implement dict interface."""
-        return iter(self._params.items())
+        """Implement dict interface.

-    def items(self):
-        """Return a list of tuples containing the parameters in any order."""
-        return list(self._params.items())
+        .. deprecated:: 9.0
+           Use ``items()`` instead.
+        """
+        return iter(self.items())

     def _add_defaults(self):
         """

--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/981476
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: I800d6b3686d7d5fff579b0d49ff9b1a64ebc88ef
Gerrit-Change-Number: 981476
Gerrit-PatchSet: 3
Gerrit-Owner: Xqt <[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