X7ROOT File Manager
Current Path:
/opt/alt/python33/lib64/python3.3/idlelib
opt
/
alt
/
python33
/
lib64
/
python3.3
/
idlelib
/
??
..
??
AutoComplete.py
(8.87 KB)
??
AutoCompleteWindow.py
(17.26 KB)
??
AutoExpand.py
(2.42 KB)
??
Bindings.py
(3.35 KB)
??
CREDITS.txt
(1.82 KB)
??
CallTipWindow.py
(5.76 KB)
??
CallTips.py
(5.79 KB)
??
ChangeLog
(55.07 KB)
??
ClassBrowser.py
(6.22 KB)
??
CodeContext.py
(8.16 KB)
??
ColorDelegator.py
(10.22 KB)
??
Debugger.py
(15.98 KB)
??
Delegator.py
(665 B)
??
EditorWindow.py
(64.75 KB)
??
FileList.py
(3.72 KB)
??
FormatParagraph.py
(7 KB)
??
GrepDialog.py
(4.01 KB)
??
HISTORY.txt
(10.08 KB)
??
HyperParser.py
(10.31 KB)
??
IOBinding.py
(19.4 KB)
??
Icons
??
IdleHistory.py
(4.02 KB)
??
MultiCall.py
(17.12 KB)
??
MultiStatusBar.py
(783 B)
??
NEWS.txt
(33.61 KB)
??
ObjectBrowser.py
(3.66 KB)
??
OutputWindow.py
(4.29 KB)
??
ParenMatch.py
(6.47 KB)
??
PathBrowser.py
(2.81 KB)
??
Percolator.py
(2.6 KB)
??
PyParse.py
(18.96 KB)
??
PyShell.py
(56.52 KB)
??
README.txt
(2.44 KB)
??
RemoteDebugger.py
(11.75 KB)
??
RemoteObjectBrowser.py
(964 B)
??
ReplaceDialog.py
(5.69 KB)
??
RstripExtension.py
(1.03 KB)
??
ScriptBinding.py
(7.88 KB)
??
ScrolledList.py
(3.9 KB)
??
SearchDialog.py
(1.97 KB)
??
SearchDialogBase.py
(5.06 KB)
??
SearchEngine.py
(7.37 KB)
??
StackViewer.py
(3.48 KB)
??
TODO.txt
(8.28 KB)
??
ToolTip.py
(2.67 KB)
??
TreeWidget.py
(14.86 KB)
??
UndoDelegator.py
(10.06 KB)
??
WidgetRedirector.py
(4.37 KB)
??
WindowList.py
(2.41 KB)
??
ZoomHeight.py
(1.28 KB)
??
__init__.py
(37 B)
??
__main__.py
(109 B)
??
__pycache__
??
aboutDialog.py
(6.42 KB)
??
config-extensions.def
(2.72 KB)
??
config-highlight.def
(1.7 KB)
??
config-keys.def
(7.35 KB)
??
config-main.def
(2.46 KB)
??
configDialog.py
(51.61 KB)
??
configHandler.py
(28.64 KB)
??
configHelpSourceEdit.py
(6.57 KB)
??
configSectionNameDialog.py
(4.21 KB)
??
dynOptionMenuWidget.py
(1.28 KB)
??
extend.txt
(3.56 KB)
??
help.txt
(11.71 KB)
??
idle.py
(400 B)
??
idle.pyw
(671 B)
??
idle_test
??
idlever.py
(23 B)
??
keybindingDialog.py
(12.14 KB)
??
macosxSupport.py
(7 KB)
??
rpc.py
(20.46 KB)
??
run.py
(13.37 KB)
??
tabbedpages.py
(17.74 KB)
??
textView.py
(3.46 KB)
Editing: GrepDialog.py
import os import fnmatch import sys from tkinter import * from idlelib import SearchEngine from idlelib.SearchDialogBase import SearchDialogBase def grep(text, io=None, flist=None): root = text._root() engine = SearchEngine.get(root) if not hasattr(engine, "_grepdialog"): engine._grepdialog = GrepDialog(root, engine, flist) dialog = engine._grepdialog searchphrase = text.get("sel.first", "sel.last") dialog.open(text, searchphrase, io) class GrepDialog(SearchDialogBase): title = "Find in Files Dialog" icon = "Grep" needwrapbutton = 0 def __init__(self, root, engine, flist): SearchDialogBase.__init__(self, root, engine) self.flist = flist self.globvar = StringVar(root) self.recvar = BooleanVar(root) def open(self, text, searchphrase, io=None): SearchDialogBase.open(self, text, searchphrase) if io: path = io.filename or "" else: path = "" dir, base = os.path.split(path) head, tail = os.path.splitext(base) if not tail: tail = ".py" self.globvar.set(os.path.join(dir, "*" + tail)) def create_entries(self): SearchDialogBase.create_entries(self) self.globent = self.make_entry("In files:", self.globvar) def create_other_buttons(self): f = self.make_frame() btn = Checkbutton(f, anchor="w", variable=self.recvar, text="Recurse down subdirectories") btn.pack(side="top", fill="both") btn.select() def create_command_buttons(self): SearchDialogBase.create_command_buttons(self) self.make_button("Search Files", self.default_command, 1) def default_command(self, event=None): prog = self.engine.getprog() if not prog: return path = self.globvar.get() if not path: self.top.bell() return from idlelib.OutputWindow import OutputWindow save = sys.stdout try: sys.stdout = OutputWindow(self.flist) self.grep_it(prog, path) finally: sys.stdout = save def grep_it(self, prog, path): dir, base = os.path.split(path) list = self.findfiles(dir, base, self.recvar.get()) list.sort() self.close() pat = self.engine.getpat() print("Searching %r in %s ..." % (pat, path)) hits = 0 for fn in list: try: with open(fn, errors='replace') as f: for lineno, line in enumerate(f, 1): if line[-1:] == '\n': line = line[:-1] if prog.search(line): sys.stdout.write("%s: %s: %s\n" % (fn, lineno, line)) hits += 1 except OSError as msg: print(msg) print(("Hits found: %s\n" "(Hint: right-click to open locations.)" % hits) if hits else "No hits.") def findfiles(self, dir, base, rec): try: names = os.listdir(dir or os.curdir) except OSError as msg: print(msg) return [] list = [] subdirs = [] for name in names: fn = os.path.join(dir, name) if os.path.isdir(fn): subdirs.append(fn) else: if fnmatch.fnmatch(name, base): list.append(fn) if rec: for subdir in subdirs: list.extend(self.findfiles(subdir, base, rec)) return list def close(self, event=None): if self.top: self.top.grab_release() self.top.withdraw() if __name__ == "__main__": # A human test is a bit tricky since EditorWindow() imports this module. # Hence Idle must be restarted after editing this file for a live test. import unittest unittest.main('idlelib.idle_test.test_grep', verbosity=2, exit=False)
Upload File
Create Folder