jenkins-bot submitted this change.

View Change


Approvals: DannyS712: Looks good to me, but someone else must approve Xqt: Looks good to me, approved jenkins-bot: Verified
[doc] Update documentation

Change-Id: I115f1bdc94617513e1507de2f43c35007113be7f
---
M ROADMAP.rst
M pywikibot/xmlreader.py
M pywikibot/_wbtypes.py
3 files changed, 41 insertions(+), 14 deletions(-)

diff --git a/ROADMAP.rst b/ROADMAP.rst
index 34a838d..b399e0f 100644
--- a/ROADMAP.rst
+++ b/ROADMAP.rst
@@ -4,9 +4,10 @@
Improvements
^^^^^^^^^^^^

+* :meth:`pywikibot.WbTime.equal_instant` was added (:phab:`T325248`)
* ``revisions`` parameter of :class:`xmlreader.XmlDump` was introduced to specify parsing method
(:phab:`T340804`)
-* Pass global -nolog argument into bot script from wrapper (:phab:`T328900`)
+* Pass global -nolog argument into bot script from wrapper (:phab:`T328900`)
* Add :meth:`site.APISite.ratelimit()<pywikibot.site._apisite.APISite.ratelimit>` method
and :class:`tools.collections.RateLimit` NamedTuple (:phab:`T304808`)
* L10N Updates
@@ -23,6 +24,7 @@
Breaking changes and code cleanups
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

+* ``root`` attribute of :class:`xmlreader.XmlDump` was removed
* ``tools.Version`` class was removed; use classes from ``packaging.version`` instead (:phab:`T340640`)
* ``packaging`` package is mandatory; ``importlib_metadata`` package is required for Python 3.7 (:phab:`T340640`)
* ``SelfCallMixin``, ``SelfCallDict`` and ``SelfCallString`` of :mod:`tools` module were removed
@@ -30,7 +32,7 @@
is no longer supported
* ``config.register_family_file()`` function was removed
* require ``PyMySQL >= 1.0.0`` if necessary
-* ``keys()`` and ``items()`` methods of :class:`data.api.Reques` gives a view instead a list (:phab:`T310953`)
+* ``keys()`` and ``items()`` methods of :class:`data.api.Request` gives a view instead a list (:phab:`T310953`)
* ``SequenceOutputter.format_list()`` was removed in favour of :attr:`tools.formatter.SequenceOutputter.out` property
* *output* parameter of :class:`bot_choice.OutputProxyOption` (i.e. ``OutputOption`` instance) without *out* property is no longer supported
* ``OutputOption.output()`` method was removed
diff --git a/pywikibot/_wbtypes.py b/pywikibot/_wbtypes.py
index 47322df5..1daf583 100644
--- a/pywikibot/_wbtypes.py
+++ b/pywikibot/_wbtypes.py
@@ -1,6 +1,6 @@
"""Wikibase data type classes."""
#
-# (C) Pywikibot team, 2013-2023
+# (C) Pywikibot team, 2013-2024
#
# Distributed under the terms of the MIT license.
#
@@ -530,6 +530,8 @@
For example, a time with at 10:00 UTC-5 would return false if checked
with == with a time at 15:00 UTC, but would return true with
this method.
+
+ .. versionadded:: 9.0
"""
return self._getSecondsAdjusted() == other._getSecondsAdjusted()

diff --git a/pywikibot/xmlreader.py b/pywikibot/xmlreader.py
index fa5f53b..bb8c4d1 100644
--- a/pywikibot/xmlreader.py
+++ b/pywikibot/xmlreader.py
@@ -11,7 +11,7 @@
vulnerable XML attacks. *defusedxml* 0.7.1 or higher is recommended.
"""
#
-# (C) Pywikibot team, 2005-2023
+# (C) Pywikibot team, 2005-2024
#
# Distributed under the terms of the MIT license.
#
@@ -58,7 +58,10 @@

class Headers(NamedTuple):

- """Represent the common info of a page."""
+ """Represent the common info of a page.
+
+ .. versionadded:: 9.0
+ """

title: str
ns: str
@@ -70,7 +73,10 @@

class RawRev(NamedTuple):

- """Represent a raw revision."""
+ """Represent a raw revision.
+
+ .. versionadded:: 9.0
+ """

headers: Headers
revision: Element
@@ -89,8 +95,9 @@
.. versionchanged:: 7.2
`allrevisions` parameter must be given as keyword parameter
.. versionchanged:: 9.0
- `allrevisions` parameter deprecated due to :phab:`T340804`
- `revisions` parameter introduced as replacement
+ `allrevisions` parameter is deprecated due to :phab:`T340804`,
+ `revisions` parameter was introduced as replacement.
+ `root` attribute was removed.

Usage example:

@@ -202,11 +209,9 @@
root.clear()

def _parse_only_first_found(self, elem: Element) -> Iterator[XmlEntry]:
- """
- Deprecated parser that yields the first revision found.
+ """Parser that yields the first revision found.

- Documentation had wrongly indicated it returned the latest revision.
- :phab: `T340804`
+ .. versionadded:: 9.0
"""
raw_revs = self._fetch_revs(elem)
try:
@@ -223,7 +228,10 @@
yield self._create_revision(raw_rev.headers, raw_rev.revision)

def _parse_only_earliest(self, elem: Element) -> Iterator[XmlEntry]:
- """Parser that yields only the earliest revision."""
+ """Parser that yields only the earliest revision.
+
+ .. versionadded:: 9.0
+ """
raw_revs = self._fetch_revs(elem, with_id=True)
raw_rev = min(raw_revs, default=None, key=lambda rev: rev.revid)
if raw_rev is not None:
@@ -236,7 +244,10 @@
yield self._create_revision(raw_rev.headers, raw_rev.revision)

def _fetch_revs(self, elem: Element, with_id=False) -> Iterator[RawRev]:
- """Yield all revisions in a page."""
+ """Yield all revisions in a page.
+
+ .. versionadded:: 9.0
+ """
uri = self.uri
headers = self._headers(elem)
for revision in elem.findall(f'{uri}revision'):
@@ -253,6 +264,9 @@

Returns strings representing user groups allowed to edit and
to move a page, where None means there are no restrictions.
+
+ .. versionadded:: 9.0
+ replaces deprecated ``parseRestrictions`` function.
"""
if not restrictions:
return None, None

To view, visit change 988018. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I115f1bdc94617513e1507de2f43c35007113be7f
Gerrit-Change-Number: 988018
Gerrit-PatchSet: 2
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: DannyS712 <dannys712.wiki@gmail.com>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-CC: Mpaa <mpaa.wiki@gmail.com>
Gerrit-MessageType: merged