Skip to content

Commit 1ff53b5

Browse files
committed
wait_signal: Simplify utils
1 parent e600649 commit 1ff53b5

File tree

1 file changed

+8
-15
lines changed

1 file changed

+8
-15
lines changed

src/pytestqt/wait_signal.py

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import functools
2+
import dataclasses
3+
from typing import Any
24

35
from pytestqt.exceptions import TimeoutError
46
from pytestqt.qt_compat import qt_api
@@ -257,12 +259,12 @@ def _get_timeout_error_message(self):
257259
)
258260

259261

262+
@dataclasses.dataclass
260263
class SignalAndArgs:
261-
def __init__(self, signal_name, args):
262-
self.signal_name = signal_name
263-
self.args = args
264+
signal_name: str
265+
args: list[Any]
264266

265-
def _get_readable_signal_with_optional_args(self):
267+
def __str__(self) -> str:
266268
args = repr(self.args) if self.args else ""
267269

268270
# remove signal parameter signature, e.g. turn "some_signal(str,int)" to "some_signal", because we're adding
@@ -272,18 +274,9 @@ def _get_readable_signal_with_optional_args(self):
272274

273275
return signal_name + args
274276

275-
def __str__(self):
276-
return self._get_readable_signal_with_optional_args()
277-
278-
def __eq__(self, other):
279-
if isinstance(other, self.__class__):
280-
return self.__dict__ == other.__dict__
281-
else:
282-
return False
283-
284277

285-
# Returns e.g. "3rd" for 3, or "21st" for 21
286-
def get_ordinal_str(n):
278+
def get_ordinal_str(n: int) -> str:
279+
"""Return e.g. "3rd" for 3, or "21st" for 21."""
287280
return "%d%s" % (n, {1: "st", 2: "nd", 3: "rd"}.get(n if n < 20 else n % 10, "th"))
288281

289282

0 commit comments

Comments
 (0)