summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2022-05-25 16:29:49 +0200
committerFlorian Bruhin <me@the-compiler.org>2022-08-23 18:31:41 +0200
commit4de0e90fd0c034b1c61f68f51853c0723e649d36 (patch)
treef0e666f3e3883c3dc23cc5515b51a8b33a5a9d11
parentf4cb011432cb228b14d2b41e63421c89ee4a4ce4 (diff)
downloadqutebrowser-4de0e90fd0c034b1c61f68f51853c0723e649d36.tar.gz
qutebrowser-4de0e90fd0c034b1c61f68f51853c0723e649d36.zip
Patch PyQt6 QUrl flag behavior for Python 3.11
See https://www.riverbankcomputing.com/pipermail/pyqt/2022-May/044668.html and https://github.com/python/cpython/issues/93250 TODO: Revert again?
-rw-r--r--qutebrowser/misc/earlyinit.py8
-rwxr-xr-xscripts/dev/run_vulture.py1
2 files changed, 9 insertions, 0 deletions
diff --git a/qutebrowser/misc/earlyinit.py b/qutebrowser/misc/earlyinit.py
index 58d884558..40879762b 100644
--- a/qutebrowser/misc/earlyinit.py
+++ b/qutebrowser/misc/earlyinit.py
@@ -30,6 +30,7 @@ except ImportError:
hunter = None
import sys
+import enum
import faulthandler
import traceback
import signal
@@ -265,6 +266,13 @@ def configure_pyqt():
# FIXME:qt6 solve this in qutebrowser/qt/sip.py equivalent
pass
+ # WORKAROUND for
+ # https://www.riverbankcomputing.com/pipermail/pyqt/2022-May/044668.html
+ if hasattr(enum, "FlagBoundary"): # Python 3.11
+ from qutebrowser.qt.core import QUrl
+ # pylint: disable-next=protected-access
+ QUrl.UrlFormattingOption._boundary_ = enum.FlagBoundary.KEEP
+
def init_log(args):
"""Initialize logging.
diff --git a/scripts/dev/run_vulture.py b/scripts/dev/run_vulture.py
index 901abe235..2e9f5e745 100755
--- a/scripts/dev/run_vulture.py
+++ b/scripts/dev/run_vulture.py
@@ -91,6 +91,7 @@ def whitelist_generator(): # noqa: C901
yield 'PaintContext.clip' # from completiondelegate.py
yield 'logging.LogRecord.log_color' # from logging.py
yield 'scripts.utils.use_color' # from asciidoc2html.py
+ yield 'QUrl.UrlFormattingOption._boundary_'
for attr in ['pyeval_output', 'log_clipboard', 'fake_clipboard']:
yield 'qutebrowser.misc.utilcmds.' + attr