aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/PySide6/support/deprecated.py
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/PySide6/support/deprecated.py')
-rw-r--r--sources/pyside6/PySide6/support/deprecated.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/sources/pyside6/PySide6/support/deprecated.py b/sources/pyside6/PySide6/support/deprecated.py
index f215f2ff5..449a5d2f0 100644
--- a/sources/pyside6/PySide6/support/deprecated.py
+++ b/sources/pyside6/PySide6/support/deprecated.py
@@ -18,6 +18,8 @@ PYSIDE-1735: This is also used now for missing other functions (overwriting __or
in Qt.(Keyboard)Modifier).
"""
+import inspect
+import sys
import warnings
from textwrap import dedent
@@ -68,4 +70,28 @@ def fix_for_QtCore(QtCore):
Qt.Modifier.__add__ = func_add
Qt.Modifier.__radd__ = func_add
+ # PYSIDE-2101: Fix rlcompleter until we evict the __signature__ attribute
+ apply_rlcompleter_patch()
+
+
+def apply_rlcompleter_patch():
+
+ def _callable_postfix(self, val, word):
+ if callable(val):
+ word += "("
+ try:
+ if not inspect.signature(val).parameters:
+ word += ")"
+ except ValueError:
+ pass
+ # PYSIDE-2101: this line is added because inspect.signature cannot handle lists
+ except TypeError:
+ pass
+
+ return word
+
+ if sys.version_info[:2] >= (3, 10):
+ from rlcompleter import Completer
+ Completer._callable_postfix = _callable_postfix
+
# eof