MCPcopy Index your code
hub / github.com/python/cpython / load_extension

Method load_extension

Lib/idlelib/editor.py:1140–1166  ·  view source on GitHub ↗
(self, name)

Source from the content-addressed store, hash-verified

1138 }
1139
1140 def load_extension(self, name):
1141 fname = self.extfiles.get(name, name)
1142 try:
1143 try:
1144 mod = importlib.import_module('.' + fname, package=__package__)
1145 except (ImportError, TypeError):
1146 mod = importlib.import_module(fname)
1147 except ImportError:
1148 print("\nFailed to import extension: ", name)
1149 raise
1150 cls = getattr(mod, name)
1151 keydefs = idleConf.GetExtensionBindings(name)
1152 if hasattr(cls, "menudefs"):
1153 self.fill_menus(cls.menudefs, keydefs)
1154 ins = cls(self)
1155 self.extensions[name] = ins
1156 if keydefs:
1157 self.apply_bindings(keydefs)
1158 for vevent in keydefs:
1159 methodname = vevent.replace("-", "_")
1160 while methodname[:1] == '<':
1161 methodname = methodname[1:]
1162 while methodname[-1:] == '>':
1163 methodname = methodname[:-1]
1164 methodname = methodname + "_event"
1165 if hasattr(ins, methodname):
1166 self.text.bind(vevent, getattr(ins, methodname))
1167
1168 def apply_bindings(self, keydefs=None):
1169 """Add events with keys to self.text."""

Callers 2

test_sqlite3Function · 0.80

Calls 8

fill_menusMethod · 0.95
apply_bindingsMethod · 0.95
GetExtensionBindingsMethod · 0.80
clsClass · 0.50
getMethod · 0.45
import_moduleMethod · 0.45
replaceMethod · 0.45
bindMethod · 0.45

Tested by 1

test_sqlite3Function · 0.64