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

Class MagicsDisplay

IPython/core/magics/basic.py:21–71  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

19
20
21class MagicsDisplay:
22 def __init__(self, magics_manager, ignore=None):
23 self.ignore = ignore if ignore else []
24 self.magics_manager = magics_manager
25
26 def _lsmagic(self):
27 """The main implementation of the %lsmagic"""
28 mesc = magic_escapes['line']
29 cesc = magic_escapes['cell']
30 mman = self.magics_manager
31 magics = mman.lsmagic()
32 out = ['Available line magics:',
33 mesc + (' '+mesc).join(sorted([m for m,v in magics['line'].items() if (v not in self.ignore)])),
34 '',
35 'Available cell magics:',
36 cesc + (' '+cesc).join(sorted([m for m,v in magics['cell'].items() if (v not in self.ignore)])),
37 '',
38 mman.auto_status()]
39 return '\n'.join(out)
40
41 def _repr_pretty_(self, p, cycle):
42 p.text(self._lsmagic())
43
44 def __repr__(self):
45 return self.__str__()
46
47 def __str__(self):
48 return self._lsmagic()
49
50 def _jsonable(self):
51 """turn magics dict into jsonable dict of the same structure
52
53 replaces object instances with their class names as strings
54 """
55 magic_dict = {}
56 mman = self.magics_manager
57 magics = mman.lsmagic()
58 for key, subdict in magics.items():
59 d = {}
60 magic_dict[key] = d
61 for name, obj in subdict.items():
62 try:
63 classname = obj.__self__.__class__.__name__
64 except AttributeError:
65 classname = 'Other'
66
67 d[name] = classname
68 return magic_dict
69
70 def _repr_json_(self):
71 return self._jsonable()
72
73
74@magics_class

Callers 1

lsmagicMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…