MCPcopy Index your code
hub / github.com/ipython/ipython / check

Method check

IPython/extensions/autoreload.py:272–341  ·  view source on GitHub ↗

Check whether some modules need to be reloaded.

(self, check_all=False, do_reload=True, execution_info=None)

Source from the content-addressed store, hash-verified

270 return py_filename, pymtime
271
272 def check(self, check_all=False, do_reload=True, execution_info=None):
273 """Check whether some modules need to be reloaded."""
274
275 if not self.enabled and not check_all:
276 return
277
278 if check_all or self.check_all:
279 modules = list(sys.modules.keys())
280 else:
281 modules = list(self.modules.keys())
282
283 # Use the persistent import_from_tracker
284 import_from_tracker = (
285 self.import_from_tracker if self.import_from_tracker.imports_froms else None
286 )
287 for modname in modules:
288 m = sys.modules.get(modname, None)
289
290 if modname in self.skip_modules:
291 continue
292
293 py_filename, pymtime = self.filename_and_mtime(m)
294 if py_filename is None:
295 continue
296
297 try:
298 if pymtime <= self.modules_mtimes[modname]:
299 continue
300 except KeyError:
301 self.modules_mtimes[modname] = pymtime
302 continue
303 else:
304 if self.failed.get(py_filename, None) == pymtime:
305 continue
306
307 self.modules_mtimes[modname] = pymtime
308
309 # If we've reached this point, we should try to reload the module
310 if do_reload:
311 self._report(f"Reloading '{modname}'.")
312 try:
313 if self.autoload_obj:
314 superreload(
315 m,
316 reload,
317 self.old_objects,
318 self.shell,
319 import_from_tracker=import_from_tracker,
320 )
321 # if not using autoload, check if deduperreload is viable for this module
322 elif self.deduper_reloader.maybe_reload_module(m):
323 pass
324 else:
325 superreload(m, reload, self.old_objects)
326 if py_filename in self.failed:
327 del self.failed[py_filename]
328 except:
329 if not self.hide_errors:

Callers 3

__init__Method · 0.95
autoreloadMethod · 0.45
pre_run_cellMethod · 0.45

Calls 7

filename_and_mtimeMethod · 0.95
superreloadFunction · 0.85
keysMethod · 0.80
getMethod · 0.80
maybe_reload_moduleMethod · 0.80
update_sourcesMethod · 0.80
formatMethod · 0.45

Tested by

no test coverage detected