jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1184054?usp=email )
Change subject: typing: Update typing from backports
......................................................................
typing: Update typing from backports
Change-Id: I9252a8d1e1a9e28cacad9f422dcf5ab6e30b33b8
---
M pywikibot/site/_apisite.py
M pywikibot/site/_extensions.py
M pywikibot/tools/djvu.py
M pywikibot/userinterfaces/buffer_interface.py
M scripts/archivebot.py
M scripts/checkimages.py
M scripts/misspelling.py
M scripts/redirect.py
M scripts/solve_disambiguation.py
9 files changed, 30 insertions(+), 25 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/site/_apisite.py b/pywikibot/site/_apisite.py
index 34550dd..c52c2ba 100644
--- a/pywikibot/site/_apisite.py
+++ b/pywikibot/site/_apisite.py
@@ -9,7 +9,6 @@
import datetime
import re
import time
-import typing
import webbrowser
from collections import OrderedDict, defaultdict
from contextlib import suppress
@@ -1068,7 +1067,7 @@
return self._months_names
- def list_to_text(self, args: typing.Iterable[str]) -> str:
+ def list_to_text(self, args: Iterable[str]) -> str:
"""Convert a list of strings into human-readable text.
The MediaWiki messages 'and' and 'word-separator' are used as
diff --git a/pywikibot/site/_extensions.py b/pywikibot/site/_extensions.py
index 66d342b..7e8191d 100644
--- a/pywikibot/site/_extensions.py
+++ b/pywikibot/site/_extensions.py
@@ -9,7 +9,7 @@
from typing import TYPE_CHECKING, Protocol
import pywikibot
-from pywikibot.backports import Generator
+from pywikibot.backports import Generator, Iterable
from pywikibot.data import api
from pywikibot.echo import Notification
from pywikibot.exceptions import (
@@ -328,28 +328,31 @@
"""APISite mixin for Linter extension."""
@need_extension('Linter')
- def linter_pages(self, lint_categories=None, total=None,
- namespaces=None, pageids=None, lint_from=None):
+ def linter_pages(
+ self,
+ lint_categories=None,
+ total: int = None,
+ namespaces=None,
+ pageids: str | int | None = None,
+ lint_from: str | int | None = None
+ ) -> Iterable[pywikibot.Page]:
"""Return a generator to pages containing linter errors.
:param lint_categories: categories of lint errors
:type lint_categories: an iterable that returns values (str), or
a pipe-separated string of values.
:param total: if not None, yielding this many items in total
- :type total: int
:param namespaces: only iterate pages in these namespaces
:type namespaces: iterable of str or Namespace key, or a single
instance of those types. May be a '|' separated list of
namespace identifiers.
:param pageids: only include lint errors from the specified
pageids
- :type pageids: an iterable that returns pageids (str or int), or
- a comma- or pipe-separated string of pageids (e.g.
- '945097,1483753, 956608' or '945097|483753|956608')
+ :type pageids: an iterable that returns pageids, or a comma- or
+ pipe-separated string of pageids (e.g. '945097,1483753,
+ 956608' or '945097|483753|956608')
:param lint_from: Lint ID to start querying from
- :type lint_from: str representing digit or integer
:return: pages with Linter errors.
- :rtype: typing.Iterable[pywikibot.Page]
"""
query = self._generator(api.ListGenerator, type_arg='linterrors',
total=total, # Will set lntlimit
diff --git a/pywikibot/tools/djvu.py b/pywikibot/tools/djvu.py
index 040e30c..9c37e03 100644
--- a/pywikibot/tools/djvu.py
+++ b/pywikibot/tools/djvu.py
@@ -1,6 +1,6 @@
"""Wrapper around djvulibre to access djvu files properties and content."""
#
-# (C) Pywikibot team, 2015-2024
+# (C) Pywikibot team, 2015-2025
#
# Distributed under the terms of the MIT license.
#
@@ -12,13 +12,14 @@
from collections import Counter
import pywikibot
+from pywikibot.backports import Sequence
-def _call_cmd(args, lib: str = 'djvulibre') -> tuple:
+def _call_cmd(args: str | Sequence[str],
+ lib: str = 'djvulibre') -> tuple[bool, str]:
"""Tiny wrapper around subprocess.Popen().
:param args: same as Popen()
- :type args: str or typing.Sequence[string]
:param lib: library to be logged in logging messages
:return: returns a tuple (res, stdoutdata), where res is True if
dp.returncode != 0 else False
diff --git a/pywikibot/userinterfaces/buffer_interface.py
b/pywikibot/userinterfaces/buffer_interface.py
index 2f508c7..22121e9 100644
--- a/pywikibot/userinterfaces/buffer_interface.py
+++ b/pywikibot/userinterfaces/buffer_interface.py
@@ -3,7 +3,7 @@
.. versionadded:: 6.4
"""
#
-# (C) Pywikibot team, 2021-2024
+# (C) Pywikibot team, 2021-2025
#
# Distributed under the terms of the MIT license.
#
@@ -11,9 +11,10 @@
import logging
import queue
-from typing import Any, Sequence
+from typing import Any
from pywikibot import config
+from pywikibot.backports import Sequence
from pywikibot.logging import INFO, VERBOSE
from pywikibot.userinterfaces._interface_base import ABUIC
diff --git a/scripts/archivebot.py b/scripts/archivebot.py
index 6b76165..d0538ed 100755
--- a/scripts/archivebot.py
+++ b/scripts/archivebot.py
@@ -203,12 +203,12 @@
from hashlib import md5
from math import ceil
from textwrap import fill
-from typing import Any, Pattern
+from typing import Any
from warnings import warn
import pywikibot
from pywikibot import i18n
-from pywikibot.backports import pairwise
+from pywikibot.backports import Pattern, pairwise
from pywikibot.exceptions import Error, NoPageError
from pywikibot.textlib import (
TimeStripper,
diff --git a/scripts/checkimages.py b/scripts/checkimages.py
index f7e158a..0e17820 100755
--- a/scripts/checkimages.py
+++ b/scripts/checkimages.py
@@ -75,7 +75,7 @@
Welcome messages are imported from :mod:`scripts.welcome` script.
"""
#
-# (C) Pywikibot team, 2006-2024
+# (C) Pywikibot team, 2006-2025
#
# Distributed under the terms of the MIT license.
#
@@ -85,11 +85,11 @@
import re
import time
from itertools import zip_longest
-from typing import Generator
import pywikibot
from pywikibot import config, i18n
from pywikibot import pagegenerators as pg
+from pywikibot.backports import Generator
from pywikibot.bot import suggest_help
from pywikibot.exceptions import (
EditConflictError,
diff --git a/scripts/misspelling.py b/scripts/misspelling.py
index 12edc75..e976620 100755
--- a/scripts/misspelling.py
+++ b/scripts/misspelling.py
@@ -20,17 +20,17 @@
given, it starts at the beginning.
"""
#
-# (C) Pywikibot team, 2007-2024
+# (C) Pywikibot team, 2007-2025
#
# Distributed under the terms of the MIT license.
#
from __future__ import annotations
from itertools import chain
-from typing import Generator
import pywikibot
from pywikibot import i18n, pagegenerators
+from pywikibot.backports import Generator
try:
diff --git a/scripts/redirect.py b/scripts/redirect.py
index a382b4b..f58b3c1 100755
--- a/scripts/redirect.py
+++ b/scripts/redirect.py
@@ -71,7 +71,7 @@
¶ms;
"""
#
-# (C) Pywikibot team, 2004-2024
+# (C) Pywikibot team, 2004-2025
#
# Distributed under the terms of the MIT license.
#
@@ -80,11 +80,12 @@
import datetime
from contextlib import suppress
from textwrap import fill
-from typing import Any, Generator
+from typing import Any
import pywikibot
import pywikibot.data
from pywikibot import i18n, pagegenerators, xmlreader
+from pywikibot.backports import Generator
from pywikibot.bot import ExistingPageBot, OptionHandler, suggest_help
from pywikibot.exceptions import (
CircularRedirectError,
diff --git a/scripts/solve_disambiguation.py b/scripts/solve_disambiguation.py
index 6684e18..c2896f7 100755
--- a/scripts/solve_disambiguation.py
+++ b/scripts/solve_disambiguation.py
@@ -83,12 +83,12 @@
from contextlib import suppress
from itertools import chain
from pathlib import Path
-from typing import Generator
import pywikibot
from pywikibot import config
from pywikibot import editor as editarticle
from pywikibot import i18n, pagegenerators
+from pywikibot.backports import Generator
from pywikibot.bot import (
HighlightContextOption,
ListOption,
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1184054?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: I9252a8d1e1a9e28cacad9f422dcf5ab6e30b33b8
Gerrit-Change-Number: 1184054
Gerrit-PatchSet: 3
Gerrit-Owner: Xqt <[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]