From c4fb367c6e514b64ba8a2080926c906536b1405e Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 13 Jun 2022 14:51:16 +0200 Subject: click-element: Fix typing --- qutebrowser/components/misccommands.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/qutebrowser/components/misccommands.py b/qutebrowser/components/misccommands.py index a4550de43..10df750ee 100644 --- a/qutebrowser/components/misccommands.py +++ b/qutebrowser/components/misccommands.py @@ -27,7 +27,7 @@ import signal import functools import logging import pathlib -from typing import Optional, List, Callable, cast +from typing import Optional, Sequence, Callable, cast try: import hunter @@ -282,7 +282,7 @@ def click_element(tab: apitypes.Tab, filter_: str, value: str = None, *, do_click(elem) - def multiple_cb(elems: List[apitypes.WebElement]) -> None: + def multiple_cb(elems: Sequence[apitypes.WebElement]) -> None: if not elems: message.error(f"No element found {_FILTER_ERRORS[filter_](value)}!") return @@ -298,11 +298,18 @@ def click_element(tab: apitypes.Tab, filter_: str, value: str = None, *, "optional with filter 'focused'!") if filter_ == "id": + assert value is not None tab.elements.find_id(elem_id=value, callback=single_cb) elif filter_ == "css": - tab.elements.find_css(value, callback=multiple_cb, error_cb=message.error) + assert value is not None + tab.elements.find_css( + value, + callback=multiple_cb, + error_cb=lambda exc: message.error(str(exc)), + ) elif filter_ == "position": - _wrap_find_at_pos(cast(str, value), tab=tab, callback=single_cb) + assert value is not None + _wrap_find_at_pos(value, tab=tab, callback=single_cb) elif filter_ == "focused": tab.elements.find_focused(callback=single_cb) else: -- cgit v1.2.3-54-g00ecf