jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1189977?usp=email )

Change subject: Typing: Solve some mypy issues
......................................................................

Typing: Solve some mypy issues

Change-Id: I61f3608565f7ad909a3e85412967bfdd55732c02
---
M .pre-commit-config.yaml
M conftest.py
M pywikibot/backports.py
M pywikibot/tools/chars.py
M pywikibot/tools/threading.py
M pywikibot/userinterfaces/buffer_interface.py
6 files changed, 14 insertions(+), 12 deletions(-)

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




diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index cc0cae2..1560236 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -135,6 +135,6 @@
             pagegenerators/(__init__|_filters)|
             scripts/(?:i18n/)?__init__|
             
site/(__init__|_basesite|_decorators|_interwikimap|_tokenwallet|_upload)|
-            tools/(_logging|_unidata|formatter)|
-            userinterfaces/(__init__|_interface_base|terminal_interface)
+            tools/(_deprecate|_logging|_unidata|chars|formatter)|
+            
userinterfaces/(__init__|_interface_base|buffer_interface|terminal_interface|transliteration)
           )\.py$
diff --git a/conftest.py b/conftest.py
index 5e92cd4..0155796 100644
--- a/conftest.py
+++ b/conftest.py
@@ -26,8 +26,9 @@
     r'scripts/(i18n/)?__init__|'
     r'site/(__init__|_basesite|_decorators|_interwikimap|'
     r'_tokenwallet|_upload)|'
-    r'tools/(_logging|_unidata|formatter)|'
-    r'userinterfaces/(__init__|_interface_base|terminal_interface)'
+    r'tools/(_deprecate|_logging|_unidata|chars|formatter)|'
+    r'userinterfaces/(__init__|_interface_base|buffer_interface|'
+    r'terminal_interface|transliteration)'
     r')\.py'
 )

diff --git a/pywikibot/backports.py b/pywikibot/backports.py
index 00636aa..ca4d3c6 100644
--- a/pywikibot/backports.py
+++ b/pywikibot/backports.py
@@ -20,8 +20,8 @@


 # Placed here to omit circular import in tools
-PYTHON_VERSION = sys.version_info[:3]
-SPHINX_RUNNING = 'sphinx' in sys.modules
+PYTHON_VERSION: tuple[int, int, int] = sys.version_info[:3]
+SPHINX_RUNNING: bool = 'sphinx' in sys.modules

 # functools.cache
 if PYTHON_VERSION >= (3, 9):
diff --git a/pywikibot/tools/chars.py b/pywikibot/tools/chars.py
index 08d50e2..e251b97 100644
--- a/pywikibot/tools/chars.py
+++ b/pywikibot/tools/chars.py
@@ -1,6 +1,6 @@
 """Character based helper functions (not wiki-dependent)."""
 #
-# (C) Pywikibot team, 2015-2024
+# (C) Pywikibot team, 2015-2025
 #
 # Distributed under the terms of the MIT license.
 #
@@ -8,6 +8,7 @@

 import re
 from contextlib import suppress
+from typing import cast
 from urllib.parse import unquote

 from pywikibot.backports import Iterable
@@ -125,13 +126,13 @@
     if isinstance(encodings, str):
         return unquote(title, encodings, errors='strict')

-    first_exception = None
+    first_exception: BaseException | None = None
     for enc in encodings:
         try:
             return unquote(title, enc, errors='strict')
         except (UnicodeError, LookupError) as e:
-            if not first_exception:
+            if first_exception is None:
                 first_exception = e

     # Couldn't convert, raise the first exception
-    raise first_exception
+    raise cast(BaseException, first_exception)
diff --git a/pywikibot/tools/threading.py b/pywikibot/tools/threading.py
index 522a461..83c40de 100644
--- a/pywikibot/tools/threading.py
+++ b/pywikibot/tools/threading.py
@@ -69,7 +69,7 @@
             raise RuntimeError('No generator for ThreadedGenerator to run.')
         self.args, self.kwargs = args, kwargs
         super().__init__(group=group, name=name)
-        self.queue = queue.Queue(qsize)
+        self.queue: queue.Queue[Any] = queue.Queue(qsize)
         self.finished = threading.Event()

     def __iter__(self):
diff --git a/pywikibot/userinterfaces/buffer_interface.py 
b/pywikibot/userinterfaces/buffer_interface.py
index 22121e9..31f6993f 100644
--- a/pywikibot/userinterfaces/buffer_interface.py
+++ b/pywikibot/userinterfaces/buffer_interface.py
@@ -30,7 +30,7 @@
         """Initialize the UI."""
         super().__init__()

-        self._buffer = queue.Queue()
+        self._buffer: queue.Queue[Any] = queue.Queue()

         self.log_handler = logging.handlers.QueueHandler(self._buffer)
         self.log_handler.setLevel(VERBOSE if config.verbose_output else INFO)

--
To view, visit 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1189977?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: I61f3608565f7ad909a3e85412967bfdd55732c02
Gerrit-Change-Number: 1189977
Gerrit-PatchSet: 2
Gerrit-Owner: Xqt <i...@gno.de>
Gerrit-Reviewer: Xqt <i...@gno.de>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- pywikibot-commits@lists.wikimedia.org
To unsubscribe send an email to pywikibot-commits-le...@lists.wikimedia.org

Reply via email to