diff options
author | Florian Bruhin <me@the-compiler.org> | 2022-06-13 14:47:06 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2022-06-13 14:47:06 +0200 |
commit | f8433aa85a69b1fcbed2ca1de1d031bd95041aba (patch) | |
tree | d7ca2db2ba43e21fc743cc5691b69dade99064d5 | |
parent | f4e899e2afface41e05d392bfa5734edb63ca5f1 (diff) | |
download | qutebrowser-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.py | 19 |
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) |