MCPcopy Create free account
hub / github.com/ipython/ipython / check

Method check

IPython/extensions/autoreload.py:209–251  ·  view source on GitHub ↗

Check whether some modules need to be reloaded.

(self, check_all=False, do_reload=True)

Source from the content-addressed store, hash-verified

207 return py_filename, pymtime
208
209 def check(self, check_all=False, do_reload=True):
210 """Check whether some modules need to be reloaded."""
211
212 if not self.enabled and not check_all:
213 return
214
215 if check_all or self.check_all:
216 modules = list(sys.modules.keys())
217 else:
218 modules = list(self.modules.keys())
219
220 for modname in modules:
221 m = sys.modules.get(modname, None)
222
223 if modname in self.skip_modules:
224 continue
225
226 py_filename, pymtime = self.filename_and_mtime(m)
227 if py_filename is None:
228 continue
229
230 try:
231 if pymtime <= self.modules_mtimes[modname]:
232 continue
233 except KeyError:
234 self.modules_mtimes[modname] = pymtime
235 continue
236 else:
237 if self.failed.get(py_filename, None) == pymtime:
238 continue
239
240 self.modules_mtimes[modname] = pymtime
241
242 # If we've reached this point, we should try to reload the module
243 if do_reload:
244 try:
245 superreload(m, reload, self.old_objects)
246 if py_filename in self.failed:
247 del self.failed[py_filename]
248 except:
249 print("[autoreload of %s failed: %s]" % (
250 modname, traceback.format_exc(10)), file=sys.stderr)
251 self.failed[py_filename] = pymtime
252
253#------------------------------------------------------------------------------
254# superreload

Callers 3

__init__Method · 0.95
autoreloadMethod · 0.45
pre_run_cellMethod · 0.45

Calls 2

filename_and_mtimeMethod · 0.95
superreloadFunction · 0.85

Tested by

no test coverage detected