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 @@
 &params;
 """
 #
-# (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]

Reply via email to