summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2022-06-13 14:47:06 +0200
committerFlorian Bruhin <me@the-compiler.org>2022-06-13 14:47:06 +0200
commitf8433aa85a69b1fcbed2ca1de1d031bd95041aba (patch)
treed7ca2db2ba43e21fc743cc5691b69dade99064d5
parentf4e899e2afface41e05d392bfa5734edb63ca5f1 (diff)
downloadqutebrowser-f8433aa85a69b1fcbed2ca1de1d031bd95041aba.tar.gz
qutebrowser-f8433aa85a69b1fcbed2ca1de1d031bd95041aba.zip
click-element: Unpack lambda dict into if
Easier to do assertions, and seems cleaner than storing lambdas.
-rw-r--r--qutebrowser/components/misccommands.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/qutebrowser/components/misccommands.py b/qutebrowser/components/misccommands.py
index 53c057e26..a4550de43 100644
--- a/qutebrowser/components/misccommands.py
+++ b/qutebrowser/components/misccommands.py
@@ -297,15 +297,16 @@ def click_element(tab: apitypes.Tab, filter_: str, value: str = None, *,
raise cmdutils.CommandError("Argument 'value' is only "
"optional with filter 'focused'!")
- handlers = {
- 'id': lambda: tab.elements.find_id(elem_id=value, callback=single_cb),
- 'css': lambda:
- tab.elements.find_css(value, callback=multiple_cb, error_cb=message.error),
- 'position': lambda:
- _wrap_find_at_pos(cast(str, value), tab=tab, callback=single_cb),
- 'focused': lambda: tab.elements.find_focused(callback=single_cb),
- }
- handlers[filter_]()
+ if filter_ == "id":
+ 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)
+ elif filter_ == "position":
+ _wrap_find_at_pos(cast(str, value), tab=tab, callback=single_cb)
+ elif filter_ == "focused":
+ tab.elements.find_focused(callback=single_cb)
+ else:
+ raise utils.Unreachable(filter_)
@cmdutils.register(debug=True)