Skip to content

Commit 561d435

Browse files
committed
simpler code block to get the modules for the debugger
1 parent 14f58f3 commit 561d435

File tree

1 file changed

+9
-14
lines changed

1 file changed

+9
-14
lines changed

ipykernel/debugger.py

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -593,22 +593,17 @@ async def richInspectVariables(self, message):
593593
reply["success"] = True
594594
return reply
595595

596-
async def modules(self, message):
597-
modules = [sys.modules[name] for name in sys.modules]
596+
async def modules(self, message):
597+
modules = sys.modules.values()
598598
mods = []
599599
for module in modules:
600-
m = str(module)
601-
if ".py'" in m:
602-
a = {}
603-
x = re.findall(r"'(.*?)'", m)
604-
a[x[0]] = x[1]
605-
mods.append(a)
606-
reply = {
607-
'body': {
608-
'modules': mods,
609-
'totalModules': len(modules)
610-
}
611-
}
600+
filename = getattr(getattr(module, "__spec__", None), "origin", None)
601+
if filename and filename.endswith(".py"):
602+
mods.append({module.__name__: filename})
603+
604+
reply = {"body": {"modules": mods, "totalModules": len(modules)}}
605+
return reply
606+
reply = {"body": {"modules": mods, "totalModules": len(modules)}}
612607
return reply
613608

614609
async def process_request(self, message):

0 commit comments

Comments
 (0)