Skip to content

Commit 3548feb

Browse files
committed
patch-attr-check
1 parent 66072fd commit 3548feb

2 files changed

Lines changed: 2 additions & 15 deletions

File tree

IPython/core/guarded_eval.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -968,13 +968,13 @@ def _merge_values(values, policy: EvaluationPolicy):
968968
merged_items = None
969969
key_values = {}
970970
for v in values:
971-
if policy.can_get_item(v, None):
971+
if hasattr(v, "items") and policy.can_get_item(v, None):
972972
try:
973973
for k, val in v.items():
974974
key_values.setdefault(k, []).append(val)
975975
except Exception as e:
976976
pass
977-
elif policy.can_call(v.keys):
977+
elif hasattr(v, "keys") and policy.can_call(v.keys):
978978
try:
979979
for k in v.keys():
980980
key_values.setdefault(k, []).append(None)

tests/test_completer.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2252,19 +2252,6 @@ def _(expected):
22522252
),
22532253
"append",
22542254
],
2255-
[
2256-
"\n".join(
2257-
[
2258-
"class NotYetDefined:",
2259-
" def __init__(self):",
2260-
" self.a = {}",
2261-
" self.a['b'] = 'str'",
2262-
"instance = NotYetDefined()",
2263-
"instance.a['b'].",
2264-
]
2265-
),
2266-
"capitalize",
2267-
],
22682255
[
22692256
"\n".join(
22702257
[

0 commit comments

Comments
 (0)