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

Class Percolator

Lib/idlelib/percolator.py:5–70  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3
4
5class Percolator:
6
7 def __init__(self, text):
8 # XXX would be nice to inherit from Delegator
9 self.text = text
10 self.redir = WidgetRedirector(text)
11 self.top = self.bottom = Delegator(text)
12 self.bottom.insert = self.redir.register("insert", self.insert)
13 self.bottom.delete = self.redir.register("delete", self.delete)
14 self.filters = []
15
16 def close(self):
17 while self.top is not self.bottom:
18 self.removefilter(self.top)
19 self.top = None
20 self.bottom.setdelegate(None)
21 self.bottom = None
22 self.redir.close()
23 self.redir = None
24 self.text = None
25
26 def insert(self, index, chars, tags=None):
27 # Could go away if inheriting from Delegator
28 self.top.insert(index, chars, tags)
29
30 def delete(self, index1, index2=None):
31 # Could go away if inheriting from Delegator
32 self.top.delete(index1, index2)
33
34 def insertfilter(self, filter):
35 # Perhaps rename to pushfilter()?
36 assert isinstance(filter, Delegator)
37 assert filter.delegate is None
38 filter.setdelegate(self.top)
39 self.top = filter
40
41 def insertfilterafter(self, filter, after):
42 assert isinstance(filter, Delegator)
43 assert isinstance(after, Delegator)
44 assert filter.delegate is None
45
46 f = self.top
47 f.resetcache()
48 while f is not after:
49 assert f is not self.bottom
50 f = f.delegate
51 f.resetcache()
52
53 filter.setdelegate(f.delegate)
54 f.setdelegate(filter)
55
56 def removefilter(self, filter):
57 # XXX Perhaps should only support popfilter()?
58 assert isinstance(filter, Delegator)
59 assert filter.delegate is not None
60 f = self.top
61 if f is filter:
62 self.top = filter.delegate

Callers 9

_color_delegatorFunction · 0.90
_undo_delegatorFunction · 0.90
setUpClassMethod · 0.90
setUpMethod · 0.90
setUpClassMethod · 0.90
make_mock_squeezerMethod · 0.90
__init__Method · 0.90
__init__Method · 0.90
_percolatorFunction · 0.85

Calls

no outgoing calls

Tested by 5

setUpClassMethod · 0.72
setUpMethod · 0.72
setUpClassMethod · 0.72
make_mock_squeezerMethod · 0.72
__init__Method · 0.72

Used in the wild real call sites across dependent graphs

searching dependent graphs…