diff options
author | Florian Bruhin <me@the-compiler.org> | 2021-07-12 16:03:41 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2021-07-28 14:08:16 +0200 |
commit | 1f663fc8a1652b6cb3f9c5947ee368357929446a (patch) | |
tree | e22f519c099280d026b1ca0cf302ecb0c925c553 /qutebrowser | |
parent | c36970521fe5ec84f8bdef6cfd0a8bf89bb4fabb (diff) | |
download | qutebrowser-1f663fc8a1652b6cb3f9c5947ee368357929446a.tar.gz qutebrowser-1f663fc8a1652b6cb3f9c5947ee368357929446a.zip |
Revert "Fix enum stringification for Python 3.10 a7+"
This reverts commit e2c5fe6262564d9d85806bfa9d4486a411cf5045.
See https://mail.python.org/archives/list/python-dev@python.org/thread/ZMC67QA2JVQJSWSFWRS6IM6ZX4EK277G/#LSTMFAPSPD3BGZ4D6HQFODXZVB3PLYKF
(cherry picked from commit 204721836133485efb1acba6d2795193788f9eda)
Diffstat (limited to 'qutebrowser')
-rw-r--r-- | qutebrowser/browser/browsertab.py | 4 | ||||
-rw-r--r-- | qutebrowser/browser/webengine/webenginetab.py | 2 | ||||
-rw-r--r-- | qutebrowser/keyinput/modeman.py | 10 | ||||
-rw-r--r-- | qutebrowser/utils/utils.py | 20 |
4 files changed, 8 insertions, 28 deletions
diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py index b3d1e85f7..b1827dbf4 100644 --- a/qutebrowser/browser/browsertab.py +++ b/qutebrowser/browser/browsertab.py @@ -1004,7 +1004,7 @@ class AbstractTab(QWidget): """Setter for load_status.""" if not isinstance(val, usertypes.LoadStatus): raise TypeError("Type {} is no LoadStatus member!".format(val)) - log.webview.debug(f"load status for {self!r}: {utils.pyenum_str(val)}") + log.webview.debug("load status for {}: {}".format(repr(self), val)) self._load_status = val self.load_status_changed.emit(val) @@ -1064,7 +1064,7 @@ class AbstractTab(QWidget): url = utils.elide(navigation.url.toDisplayString(), 100) log.webview.debug("navigation request: url {}, type {}, is_main_frame " "{}".format(url, - utils.pyenum_str(navigation.navigation_type), + navigation.navigation_type, navigation.is_main_frame)) if navigation.is_main_frame: diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index b2ca42cbe..ace23d14a 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -474,7 +474,7 @@ class WebEngineCaret(browsertab.AbstractCaret): # `:selection-toggle` is executed and before this callback function # is asynchronously called. log.misc.debug("Ignoring caret selection callback in {}".format( - utils.pyenum_str(self._mode_manager.mode))) + self._mode_manager.mode)) return if state_str is None: message.error("Error toggling caret selection") diff --git a/qutebrowser/keyinput/modeman.py b/qutebrowser/keyinput/modeman.py index 21a6be052..3c47fafe3 100644 --- a/qutebrowser/keyinput/modeman.py +++ b/qutebrowser/keyinput/modeman.py @@ -284,8 +284,8 @@ class ModeManager(QObject): curmode = self.mode parser = self.parsers[curmode] if curmode != usertypes.KeyMode.insert: - log.modes.debug("got keypress in mode {} - delegating to {}".format( - utils.pyenum_str(curmode), utils.qualname(parser))) + log.modes.debug("got keypress in mode {} - delegating to " + "{}".format(curmode, utils.qualname(parser))) match = parser.handle(event, dry_run=dry_run) has_modifier = event.modifiers() not in [ @@ -361,8 +361,7 @@ class ModeManager(QObject): return log.modes.debug("Entering mode {}{}".format( - utils.pyenum_str(mode), - '' if reason is None else ' (reason: {})'.format(reason))) + mode, '' if reason is None else ' (reason: {})'.format(reason))) if mode not in self.parsers: raise ValueError("No keyparser for mode {}".format(mode)) if self.mode == mode or (self.mode in PROMPT_MODES and @@ -430,8 +429,7 @@ class ModeManager(QObject): raise NotInModeError("Not in mode {}!".format(mode)) log.modes.debug("Leaving mode {}{}".format( - utils.pyenum_str(mode), - '' if reason is None else ' (reason: {})'.format(reason))) + mode, '' if reason is None else ' (reason: {})'.format(reason))) # leaving a mode implies clearing keychain, see # https://github.com/qutebrowser/qutebrowser/issues/1805 self.clear_keychain() diff --git a/qutebrowser/utils/utils.py b/qutebrowser/utils/utils.py index fb0165de2..a56769255 100644 --- a/qutebrowser/utils/utils.py +++ b/qutebrowser/utils/utils.py @@ -375,18 +375,6 @@ def is_enum(obj: Any) -> bool: return False -def pyenum_str(value: enum.Enum) -> str: - """Get a string representation of a Python enum value. - - This will have the form of "EnumType.membername", which is the default string - representation for Python up to 3.10. Unfortunately, that changes with Python 3.10: - https://bugs.python.org/issue40066 - """ - if sys.version_info[:2] >= (3, 10): - return repr(value) - return str(value) - - def get_repr(obj: Any, constructor: bool = False, **attrs: Any) -> str: """Get a suitable __repr__ string for an object. @@ -399,14 +387,8 @@ def get_repr(obj: Any, constructor: bool = False, **attrs: Any) -> str: cls = qualname(obj.__class__) parts = [] items = sorted(attrs.items()) - for name, val in items: - if isinstance(val, enum.Enum): - s = pyenum_str(val) - else: - s = repr(val) - parts.append(f'{name}={s}') - + parts.append('{}={!r}'.format(name, val)) if constructor: return '{}({})'.format(cls, ', '.join(parts)) else: |