Xqt has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1361159?usp=email )
Change subject: cleanup: remove NoneType and pairwise from backports
......................................................................
cleanup: remove NoneType and pairwise from backports
Bug: T423572
Change-Id: I43cd9e496e5b7d564f2d50a20007226597fd3342
---
M pywikibot/backports.py
M pywikibot/comms/eventstreams.py
M pywikibot/page/_basepage.py
M pywikibot/proofreadpage.py
M pywikibot/textlib.py
M pywikibot/tools/_deprecate.py
M pywikibot/tools/itertools.py
M scripts/archivebot.py
M tests/basesite_tests.py
M tests/wikistats_tests.py
10 files changed, 12 insertions(+), 46 deletions(-)
Approvals:
Mahveotm: Looks good to me, approved
Xqt: Verified; Looks good to me, approved
diff --git a/pywikibot/backports.py b/pywikibot/backports.py
index d226155..91a708d 100644
--- a/pywikibot/backports.py
+++ b/pywikibot/backports.py
@@ -24,31 +24,6 @@
if TYPE_CHECKING:
from collections.abc import Callable, Generator, Iterable
-
-if PYTHON_VERSION < (3, 10) or SPHINX_RUNNING:
- from itertools import tee
-
- NoneType = type(None)
-
- # bpo-38200
- def pairwise(iterable):
- """Return successive overlapping pairs taken from the input iterable.
-
- .. seealso:: :python:`itertools.pairwise
- <library/itertools.html#itertools.pairwise>`,
- backported from Python 3.10.
- .. version-added:: 7.6
- .. version-removed:: 12.0
- """
- a, b = tee(iterable)
- next(b, None)
- return zip(a, b)
-
-elif not TYPE_CHECKING:
- from itertools import pairwise # noqa: F401
- from types import NoneType # noqa: F401
-
-
# gh-98363
if PYTHON_VERSION < (3, 13) or SPHINX_RUNNING:
def batched(iterable, n: int, *,
diff --git a/pywikibot/comms/eventstreams.py b/pywikibot/comms/eventstreams.py
index 26533c2..93af5ad 100644
--- a/pywikibot/comms/eventstreams.py
+++ b/pywikibot/comms/eventstreams.py
@@ -20,13 +20,13 @@
import json
from datetime import timedelta
from functools import partial
+from types import NoneType
from typing import Any
from requests.packages.urllib3.exceptions import ProtocolError
from requests.packages.urllib3.util.response import httplib
from pywikibot import Site, Timestamp, config, debug, warning
-from pywikibot.backports import NoneType
from pywikibot.comms.http import user_agent
from pywikibot.site import BaseSite
from pywikibot.tools import cached, deprecated_args
diff --git a/pywikibot/page/_basepage.py b/pywikibot/page/_basepage.py
index 27c7ec5..ada80c6 100644
--- a/pywikibot/page/_basepage.py
+++ b/pywikibot/page/_basepage.py
@@ -13,13 +13,13 @@
from contextlib import suppress
from itertools import islice
from textwrap import shorten, wrap
+from types import NoneType
from typing import TYPE_CHECKING
from urllib.parse import quote_from_bytes
from warnings import warn
import pywikibot
from pywikibot import Timestamp, config, date, i18n, textlib, tools
-from pywikibot.backports import NoneType
from pywikibot.cosmetic_changes import CANCEL, CosmeticChangesToolkit
from pywikibot.exceptions import (
Error,
diff --git a/pywikibot/proofreadpage.py b/pywikibot/proofreadpage.py
index 6ade64d..51c0850 100644
--- a/pywikibot/proofreadpage.py
+++ b/pywikibot/proofreadpage.py
@@ -23,6 +23,7 @@
from collections.abc import Callable, Iterable, Sequence
from functools import partial
from http import HTTPStatus
+from itertools import pairwise
from typing import Any
from urllib.parse import unquote
from weakref import WeakKeyDictionary
@@ -31,7 +32,6 @@
import pywikibot
from pywikibot import textlib
-from pywikibot.backports import pairwise
from pywikibot.comms import http
from pywikibot.data.api import ListGenerator, Request
from pywikibot.exceptions import Error, InvalidTitleError, OtherPageSaveError
diff --git a/pywikibot/textlib.py b/pywikibot/textlib.py
index 0e33c13..f63f2fb 100644
--- a/pywikibot/textlib.py
+++ b/pywikibot/textlib.py
@@ -15,11 +15,11 @@
from dataclasses import dataclass
from functools import lru_cache
from html.parser import HTMLParser
+from itertools import pairwise
from typing import NamedTuple
from urllib.parse import quote
import pywikibot
-from pywikibot.backports import pairwise
from pywikibot.exceptions import InvalidTitleError, SiteDefinitionError
from pywikibot.family import Family
from pywikibot.time import TZoneFixedOffset
diff --git a/pywikibot/tools/_deprecate.py b/pywikibot/tools/_deprecate.py
index 751ba37..f281480 100644
--- a/pywikibot/tools/_deprecate.py
+++ b/pywikibot/tools/_deprecate.py
@@ -33,20 +33,15 @@
from functools import wraps
from importlib import import_module
from inspect import getfullargspec
-from typing import TYPE_CHECKING, Any
+from types import NoneType
+from typing import Any
from warnings import warn
-# Unable to import SPHINX_RUNNING from tools and NoneType from backports
-# because of circular imports; adding them here.
-PYTHON_VERSION: tuple[int, int, int] = sys.version_info[:3]
+# Unable to import SPHINX_RUNNING from tools
+# because of circular imports; adding it here.
SPHINX_RUNNING: bool = 'sphinx' in sys.modules
-if PYTHON_VERSION < (3, 10):
- NoneType = type(None)
-elif not TYPE_CHECKING:
- from types import NoneType
-
class _NotImplementedWarning(RuntimeWarning):
diff --git a/pywikibot/tools/itertools.py b/pywikibot/tools/itertools.py
index 2051278..1270bff 100644
--- a/pywikibot/tools/itertools.py
+++ b/pywikibot/tools/itertools.py
@@ -3,11 +3,7 @@
#
# Distributed under the terms of the MIT license.
#
-"""Iterator functions.
-
-.. note:: ``pairwise()`` function introduced in Python 3.10 is backported
- in :mod:`backports`
-"""
+"""Iterator functions."""
from __future__ import annotations
import collections
diff --git a/scripts/archivebot.py b/scripts/archivebot.py
index ac1915e..6e05dc8 100755
--- a/scripts/archivebot.py
+++ b/scripts/archivebot.py
@@ -206,6 +206,7 @@
from collections import defaultdict
from contextlib import nullcontext
from hashlib import md5
+from itertools import pairwise
from math import ceil
from textwrap import fill
from typing import Any
@@ -213,7 +214,6 @@
import pywikibot
from pywikibot import i18n
-from pywikibot.backports import pairwise
from pywikibot.exceptions import Error, NoPageError
from pywikibot.textlib import (
TimeStripper,
diff --git a/tests/basesite_tests.py b/tests/basesite_tests.py
index 2a4b717..577d9a5 100755
--- a/tests/basesite_tests.py
+++ b/tests/basesite_tests.py
@@ -9,9 +9,9 @@
import unittest
from contextlib import suppress
+from types import NoneType
import pywikibot
-from pywikibot.backports import NoneType
from pywikibot.exceptions import Error
from tests.aspects import DefaultSiteTestCase, TestCase
diff --git a/tests/wikistats_tests.py b/tests/wikistats_tests.py
index 2ee718e..557b41f 100755
--- a/tests/wikistats_tests.py
+++ b/tests/wikistats_tests.py
@@ -10,8 +10,8 @@
import sys
import unittest
from contextlib import suppress
+from types import NoneType
-from pywikibot.backports import NoneType
from pywikibot.data.wikistats import WikiStats
from tests.aspects import TestCase
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1361159?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I43cd9e496e5b7d564f2d50a20007226597fd3342
Gerrit-Change-Number: 1361159
Gerrit-PatchSet: 2
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Mahveotm <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]