summaryrefslogtreecommitdiff
path: root/qutebrowser
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-07-12 16:03:41 +0200
committerFlorian Bruhin <me@the-compiler.org>2021-07-28 14:08:16 +0200
commit1f663fc8a1652b6cb3f9c5947ee368357929446a (patch)
treee22f519c099280d026b1ca0cf302ecb0c925c553 /qutebrowser
parentc36970521fe5ec84f8bdef6cfd0a8bf89bb4fabb (diff)
downloadqutebrowser-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.py4
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py2
-rw-r--r--qutebrowser/keyinput/modeman.py10
-rw-r--r--qutebrowser/utils/utils.py20
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: