bpo-44752: refactor part of rlcompleter.Completer.attr_matches (GH-27433) (GH-27447)
(cherry picked from commit 6741794dd420c6b9775a188690dbf265037cd69f)
Co-authored-by: Jack DeVries <58614260+jdevries3133@users.noreply.github.com>
diff --git a/Lib/rlcompleter.py b/Lib/rlcompleter.py
index 34b2599..98b7930 100644
--- a/Lib/rlcompleter.py
+++ b/Lib/rlcompleter.py
@@ -186,13 +186,10 @@ def attr_matches(self, text):
# property method, which is not desirable.
matches.append(match)
continue
- try:
- val = getattr(thisobject, word)
- except Exception:
- pass # Include even if attribute not set
+ if (value := getattr(thisobject, word, None)) is not None:
+ matches.append(self._callable_postfix(value, match))
else:
- match = self._callable_postfix(val, match)
- matches.append(match)
+ matches.append(match)
if matches or not noprefix:
break
if noprefix == '_':