OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python37
/
lib64
/
python3.7
/
idlelib
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/07/2025 10:02:28 PM
rwxr-xr-x
📄
CREDITS.txt
1.82 KB
06/05/2023 08:45:13 PM
rw-r--r--
📄
ChangeLog
55.04 KB
06/05/2023 08:45:13 PM
rw-r--r--
📄
HISTORY.txt
10.07 KB
06/05/2023 08:45:13 PM
rw-r--r--
📁
Icons
-
02/07/2025 10:02:27 PM
rwxr-xr-x
📄
NEWS.txt
47.65 KB
06/05/2023 08:45:13 PM
rw-r--r--
📄
NEWS2x.txt
26.54 KB
06/05/2023 08:45:13 PM
rw-r--r--
📄
README.txt
9.37 KB
06/05/2023 08:45:13 PM
rw-r--r--
📄
TODO.txt
8.28 KB
06/05/2023 08:45:13 PM
rw-r--r--
📄
__init__.py
396 bytes
04/17/2024 05:36:04 PM
rw-r--r--
📄
__main__.py
159 bytes
04/17/2024 05:36:04 PM
rw-r--r--
📁
__pycache__
-
02/07/2025 10:02:28 PM
rwxr-xr-x
📄
autocomplete.py
8.74 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
autocomplete_w.py
19.64 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
autoexpand.py
3.14 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
browser.py
8.12 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
calltip.py
6.17 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
calltip_w.py
6.99 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
codecontext.py
11.06 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
colorizer.py
12.69 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
config-extensions.def
2.21 KB
06/05/2023 08:45:13 PM
rw-r--r--
📄
config-highlight.def
2.8 KB
06/05/2023 08:45:13 PM
rw-r--r--
📄
config-keys.def
10.65 KB
06/05/2023 08:45:13 PM
rw-r--r--
📄
config-main.def
3.09 KB
06/05/2023 08:45:13 PM
rw-r--r--
📄
config.py
37.28 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
config_key.py
14.13 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
configdialog.py
102.07 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
debugger.py
18.66 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
debugger_r.py
11.86 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
debugobj.py
3.96 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
debugobj_r.py
1.06 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
delegator.py
1.02 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
dynoption.py
1.97 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
editor.py
64.08 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
extend.txt
3.56 KB
06/05/2023 08:45:13 PM
rw-r--r--
📄
filelist.py
3.8 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
format.py
15.41 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
grep.py
7.3 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
help.html
60.76 KB
06/05/2023 08:45:13 PM
rw-r--r--
📄
help.py
11.46 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
help_about.py
8.77 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
history.py
3.95 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
hyperparser.py
12.58 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
idle.py
454 bytes
04/17/2024 05:36:04 PM
rw-r--r--
📄
idle.pyw
570 bytes
06/05/2023 08:45:13 PM
rw-r--r--
📁
idle_test
-
02/07/2025 10:02:28 PM
rwxr-xr-x
📄
iomenu.py
20.15 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
macosx.py
9.44 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
mainmenu.py
3.83 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
multicall.py
18.21 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
outwin.py
5.65 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
parenmatch.py
7.04 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
pathbrowser.py
3.12 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
percolator.py
3.06 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
pyparse.py
19.48 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
pyshell.py
55.91 KB
04/17/2024 05:36:04 PM
rwxr-xr-x
📄
query.py
14.55 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
redirector.py
6.71 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
replace.py
9.66 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
rpc.py
20.64 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
run.py
19.82 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
runscript.py
8.58 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
scrolledlist.py
4.36 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
search.py
5.44 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
searchbase.py
7.36 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
searchengine.py
7.3 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
sidebar.py
13.27 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
squeezer.py
12.54 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
stackviewer.py
4.35 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
statusbar.py
1.41 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
textview.py
6.65 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
tooltip.py
6.41 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
tree.py
15.97 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
undo.py
10.79 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
window.py
2.55 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
zoomheight.py
4.1 KB
04/17/2024 05:36:04 PM
rw-r--r--
📄
zzdummy.py
961 bytes
04/17/2024 05:36:04 PM
rw-r--r--
Editing: percolator.py
Close
from idlelib.delegator import Delegator from idlelib.redirector import WidgetRedirector class Percolator: def __init__(self, text): # XXX would be nice to inherit from Delegator self.text = text self.redir = WidgetRedirector(text) self.top = self.bottom = Delegator(text) self.bottom.insert = self.redir.register("insert", self.insert) self.bottom.delete = self.redir.register("delete", self.delete) self.filters = [] def close(self): while self.top is not self.bottom: self.removefilter(self.top) self.top = None self.bottom.setdelegate(None) self.bottom = None self.redir.close() self.redir = None self.text = None def insert(self, index, chars, tags=None): # Could go away if inheriting from Delegator self.top.insert(index, chars, tags) def delete(self, index1, index2=None): # Could go away if inheriting from Delegator self.top.delete(index1, index2) def insertfilter(self, filter): # Perhaps rename to pushfilter()? assert isinstance(filter, Delegator) assert filter.delegate is None filter.setdelegate(self.top) self.top = filter def removefilter(self, filter): # XXX Perhaps should only support popfilter()? assert isinstance(filter, Delegator) assert filter.delegate is not None f = self.top if f is filter: self.top = filter.delegate filter.setdelegate(None) else: while f.delegate is not filter: assert f is not self.bottom f.resetcache() f = f.delegate f.setdelegate(filter.delegate) filter.setdelegate(None) def _percolator(parent): # htest # import tkinter as tk class Tracer(Delegator): def __init__(self, name): self.name = name Delegator.__init__(self, None) def insert(self, *args): print(self.name, ": insert", args) self.delegate.insert(*args) def delete(self, *args): print(self.name, ": delete", args) self.delegate.delete(*args) box = tk.Toplevel(parent) box.title("Test Percolator") x, y = map(int, parent.geometry().split('+')[1:]) box.geometry("+%d+%d" % (x, y + 175)) text = tk.Text(box) p = Percolator(text) pin = p.insertfilter pout = p.removefilter t1 = Tracer("t1") t2 = Tracer("t2") def toggle1(): (pin if var1.get() else pout)(t1) def toggle2(): (pin if var2.get() else pout)(t2) text.pack() var1 = tk.IntVar(parent) cb1 = tk.Checkbutton(box, text="Tracer1", command=toggle1, variable=var1) cb1.pack() var2 = tk.IntVar(parent) cb2 = tk.Checkbutton(box, text="Tracer2", command=toggle2, variable=var2) cb2.pack() if __name__ == "__main__": from unittest import main main('idlelib.idle_test.test_percolator', verbosity=2, exit=False) from idlelib.idle_test.htest import run run(_percolator)