__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
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:
f = open(fn)
except IOError, msg:
print msg
continue
lineno = 0
while 1:
block = f.readlines(100000)
if not block:
break
for line in block:
lineno = lineno + 1
if line[-1:] == '\n':
line = line[:-1]
if prog.search(line):
sys.stdout.write("%s: %s: %s\n" % (fn, lineno, line))
hits = hits + 1
if hits:
if hits == 1:
s = ""
else:
s = "s"
print "Found", hits, "hit%s." % s
print "(Hint: right-click to open locations.)"
else:
print "No hits."
def findfiles(self, dir, base, rec):
try:
names = os.listdir(dir or os.curdir)
except os.error, 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()
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Icons | Folder | 0755 |
|
|
| AutoComplete.py | File | 8.79 KB | 0644 |
|
| AutoComplete.pyc | File | 7.69 KB | 0644 |
|
| AutoComplete.pyo | File | 7.69 KB | 0644 |
|
| AutoCompleteWindow.py | File | 16.8 KB | 0644 |
|
| AutoCompleteWindow.pyc | File | 12.15 KB | 0644 |
|
| AutoCompleteWindow.pyo | File | 12.09 KB | 0644 |
|
| AutoExpand.py | File | 2.42 KB | 0644 |
|
| AutoExpand.pyc | File | 2.5 KB | 0644 |
|
| AutoExpand.pyo | File | 2.5 KB | 0644 |
|
| Bindings.py | File | 3.22 KB | 0644 |
|
| Bindings.pyc | File | 4.76 KB | 0644 |
|
| Bindings.pyo | File | 4.76 KB | 0644 |
|
| CREDITS.txt | File | 1.82 KB | 0644 |
|
| CallTipWindow.py | File | 5.98 KB | 0644 |
|
| CallTipWindow.pyc | File | 6.14 KB | 0644 |
|
| CallTipWindow.pyo | File | 6.14 KB | 0644 |
|
| CallTips.py | File | 7.75 KB | 0644 |
|
| CallTips.pyc | File | 10.14 KB | 0644 |
|
| CallTips.pyo | File | 10.14 KB | 0644 |
|
| ChangeLog | File | 55.07 KB | 0644 |
|
| ClassBrowser.py | File | 6.22 KB | 0644 |
|
| ClassBrowser.pyc | File | 8.95 KB | 0644 |
|
| ClassBrowser.pyo | File | 8.95 KB | 0644 |
|
| CodeContext.py | File | 8.15 KB | 0644 |
|
| CodeContext.pyc | File | 6.52 KB | 0644 |
|
| CodeContext.pyo | File | 6.47 KB | 0644 |
|
| ColorDelegator.py | File | 10.13 KB | 0644 |
|
| ColorDelegator.pyc | File | 8.71 KB | 0644 |
|
| ColorDelegator.pyo | File | 8.71 KB | 0644 |
|
| Debugger.py | File | 15.45 KB | 0644 |
|
| Debugger.pyc | File | 16.55 KB | 0644 |
|
| Debugger.pyo | File | 16.55 KB | 0644 |
|
| Delegator.py | File | 831 B | 0644 |
|
| Delegator.pyc | File | 1.58 KB | 0644 |
|
| Delegator.pyo | File | 1.58 KB | 0644 |
|
| EditorWindow.py | File | 63.29 KB | 0644 |
|
| EditorWindow.pyc | File | 55.13 KB | 0644 |
|
| EditorWindow.pyo | File | 55.03 KB | 0644 |
|
| FileList.py | File | 3.57 KB | 0644 |
|
| FileList.pyc | File | 3.86 KB | 0644 |
|
| FileList.pyo | File | 3.82 KB | 0644 |
|
| FormatParagraph.py | File | 5.66 KB | 0644 |
|
| FormatParagraph.pyc | File | 4.69 KB | 0644 |
|
| FormatParagraph.pyo | File | 4.69 KB | 0644 |
|
| GrepDialog.py | File | 3.96 KB | 0644 |
|
| GrepDialog.pyc | File | 4.9 KB | 0644 |
|
| GrepDialog.pyo | File | 4.9 KB | 0644 |
|
| HISTORY.txt | File | 10.08 KB | 0644 |
|
| HyperParser.py | File | 10.31 KB | 0644 |
|
| HyperParser.pyc | File | 6.49 KB | 0644 |
|
| HyperParser.pyo | File | 6.49 KB | 0644 |
|
| IOBinding.py | File | 20.69 KB | 0644 |
|
| IOBinding.pyc | File | 17.16 KB | 0644 |
|
| IOBinding.pyo | File | 17.16 KB | 0644 |
|
| IdleHistory.py | File | 3.07 KB | 0644 |
|
| IdleHistory.pyc | File | 3.13 KB | 0644 |
|
| IdleHistory.pyo | File | 3.13 KB | 0644 |
|
| MultiCall.py | File | 17.07 KB | 0644 |
|
| MultiCall.pyc | File | 15.55 KB | 0644 |
|
| MultiCall.pyo | File | 15.48 KB | 0644 |
|
| MultiStatusBar.py | File | 783 B | 0644 |
|
| MultiStatusBar.pyc | File | 1.49 KB | 0644 |
|
| MultiStatusBar.pyo | File | 1.49 KB | 0644 |
|
| NEWS.txt | File | 28.32 KB | 0644 |
|
| ObjectBrowser.py | File | 4.05 KB | 0644 |
|
| ObjectBrowser.pyc | File | 6.56 KB | 0644 |
|
| ObjectBrowser.pyo | File | 6.56 KB | 0644 |
|
| OutputWindow.py | File | 4.47 KB | 0644 |
|
| OutputWindow.pyc | File | 5.11 KB | 0644 |
|
| OutputWindow.pyo | File | 5.11 KB | 0644 |
|
| ParenMatch.py | File | 6.47 KB | 0644 |
|
| ParenMatch.pyc | File | 6.82 KB | 0644 |
|
| ParenMatch.pyo | File | 6.82 KB | 0644 |
|
| PathBrowser.py | File | 2.58 KB | 0644 |
|
| PathBrowser.pyc | File | 4.02 KB | 0644 |
|
| PathBrowser.pyo | File | 4.02 KB | 0644 |
|
| Percolator.py | File | 2.55 KB | 0644 |
|
| Percolator.pyc | File | 3.55 KB | 0644 |
|
| Percolator.pyo | File | 3.37 KB | 0644 |
|
| PyParse.py | File | 19.05 KB | 0644 |
|
| PyParse.pyc | File | 9.77 KB | 0644 |
|
| PyParse.pyo | File | 9.34 KB | 0644 |
|
| PyShell.py | File | 54.81 KB | 0644 |
|
| PyShell.pyc | File | 49.14 KB | 0644 |
|
| PyShell.pyo | File | 49.04 KB | 0644 |
|
| README.txt | File | 2.56 KB | 0644 |
|
| RemoteDebugger.py | File | 11.38 KB | 0644 |
|
| RemoteDebugger.pyc | File | 15.97 KB | 0644 |
|
| RemoteDebugger.pyo | File | 15.82 KB | 0644 |
|
| RemoteObjectBrowser.py | File | 942 B | 0644 |
|
| RemoteObjectBrowser.pyc | File | 2.1 KB | 0644 |
|
| RemoteObjectBrowser.pyo | File | 2.1 KB | 0644 |
|
| ReplaceDialog.py | File | 5.69 KB | 0644 |
|
| ReplaceDialog.pyc | File | 6.32 KB | 0644 |
|
| ReplaceDialog.pyo | File | 6.32 KB | 0644 |
|
| RstripExtension.py | File | 824 B | 0644 |
|
| RstripExtension.pyc | File | 1.45 KB | 0644 |
|
| RstripExtension.pyo | File | 1.45 KB | 0644 |
|
| ScriptBinding.py | File | 8.22 KB | 0644 |
|
| ScriptBinding.pyc | File | 7.96 KB | 0644 |
|
| ScriptBinding.pyo | File | 7.96 KB | 0644 |
|
| ScrolledList.py | File | 3.9 KB | 0644 |
|
| ScrolledList.pyc | File | 6.03 KB | 0644 |
|
| ScrolledList.pyo | File | 6.03 KB | 0644 |
|
| SearchDialog.py | File | 1.99 KB | 0644 |
|
| SearchDialog.pyc | File | 2.93 KB | 0644 |
|
| SearchDialog.pyo | File | 2.93 KB | 0644 |
|
| SearchDialogBase.py | File | 4.28 KB | 0644 |
|
| SearchDialogBase.pyc | File | 5.37 KB | 0644 |
|
| SearchDialogBase.pyo | File | 5.37 KB | 0644 |
|
| SearchEngine.py | File | 6.57 KB | 0644 |
|
| SearchEngine.pyc | File | 7.02 KB | 0644 |
|
| SearchEngine.pyo | File | 7.02 KB | 0644 |
|
| StackViewer.py | File | 3.77 KB | 0644 |
|
| StackViewer.pyc | File | 5.79 KB | 0644 |
|
| StackViewer.pyo | File | 5.79 KB | 0644 |
|
| TODO.txt | File | 8.28 KB | 0644 |
|
| ToolTip.py | File | 2.67 KB | 0644 |
|
| ToolTip.pyc | File | 4.05 KB | 0644 |
|
| ToolTip.pyo | File | 4.05 KB | 0644 |
|
| TreeWidget.py | File | 14.87 KB | 0644 |
|
| TreeWidget.pyc | File | 17.48 KB | 0644 |
|
| TreeWidget.pyo | File | 17.48 KB | 0644 |
|
| UndoDelegator.py | File | 10.04 KB | 0644 |
|
| UndoDelegator.pyc | File | 12.27 KB | 0644 |
|
| UndoDelegator.pyo | File | 12.27 KB | 0644 |
|
| WidgetRedirector.py | File | 4.37 KB | 0644 |
|
| WidgetRedirector.pyc | File | 5.23 KB | 0644 |
|
| WidgetRedirector.pyo | File | 5.23 KB | 0644 |
|
| WindowList.py | File | 2.42 KB | 0644 |
|
| WindowList.pyc | File | 3.55 KB | 0644 |
|
| WindowList.pyo | File | 3.55 KB | 0644 |
|
| ZoomHeight.py | File | 1.28 KB | 0644 |
|
| ZoomHeight.pyc | File | 1.61 KB | 0644 |
|
| ZoomHeight.pyo | File | 1.61 KB | 0644 |
|
| __init__.py | File | 37 B | 0644 |
|
| __init__.pyc | File | 127 B | 0644 |
|
| __init__.pyo | File | 127 B | 0644 |
|
| aboutDialog.py | File | 6.42 KB | 0644 |
|
| aboutDialog.pyc | File | 6.63 KB | 0644 |
|
| aboutDialog.pyo | File | 6.63 KB | 0644 |
|
| config-extensions.def | File | 2.72 KB | 0644 |
|
| config-highlight.def | File | 1.7 KB | 0644 |
|
| config-keys.def | File | 7.35 KB | 0644 |
|
| config-main.def | File | 2.45 KB | 0644 |
|
| configDialog.py | File | 52.23 KB | 0644 |
|
| configDialog.pyc | File | 43.81 KB | 0644 |
|
| configDialog.pyo | File | 43.81 KB | 0644 |
|
| configHandler.py | File | 28.68 KB | 0644 |
|
| configHandler.pyc | File | 26.83 KB | 0644 |
|
| configHandler.pyo | File | 26.83 KB | 0644 |
|
| configHelpSourceEdit.py | File | 6.52 KB | 0644 |
|
| configHelpSourceEdit.pyc | File | 6.56 KB | 0644 |
|
| configHelpSourceEdit.pyo | File | 6.56 KB | 0644 |
|
| configSectionNameDialog.py | File | 3.63 KB | 0644 |
|
| configSectionNameDialog.pyc | File | 4.21 KB | 0644 |
|
| configSectionNameDialog.pyo | File | 4.21 KB | 0644 |
|
| dynOptionMenuWidget.py | File | 1.27 KB | 0644 |
|
| dynOptionMenuWidget.pyc | File | 1.66 KB | 0644 |
|
| dynOptionMenuWidget.pyo | File | 1.66 KB | 0644 |
|
| extend.txt | File | 3.56 KB | 0644 |
|
| help.txt | File | 11.72 KB | 0644 |
|
| idle.py | File | 400 B | 0644 |
|
| idle.pyc | File | 406 B | 0644 |
|
| idle.pyo | File | 406 B | 0644 |
|
| idle.pyw | File | 664 B | 0644 |
|
| idlever.py | File | 23 B | 0644 |
|
| idlever.pyc | File | 159 B | 0644 |
|
| idlever.pyo | File | 159 B | 0644 |
|
| keybindingDialog.py | File | 12.12 KB | 0644 |
|
| keybindingDialog.pyc | File | 12.05 KB | 0644 |
|
| keybindingDialog.pyo | File | 12.05 KB | 0644 |
|
| macosxSupport.py | File | 6.08 KB | 0644 |
|
| macosxSupport.pyc | File | 6.25 KB | 0644 |
|
| macosxSupport.pyo | File | 6.25 KB | 0644 |
|
| rpc.py | File | 19.75 KB | 0644 |
|
| rpc.pyc | File | 21.26 KB | 0644 |
|
| rpc.pyo | File | 21.16 KB | 0644 |
|
| run.py | File | 11.54 KB | 0644 |
|
| run.pyc | File | 12.14 KB | 0644 |
|
| run.pyo | File | 12.08 KB | 0644 |
|
| tabbedpages.py | File | 17.76 KB | 0644 |
|
| tabbedpages.pyc | File | 17.67 KB | 0644 |
|
| tabbedpages.pyo | File | 17.67 KB | 0644 |
|
| textView.py | File | 3.46 KB | 0644 |
|
| textView.pyc | File | 4.2 KB | 0644 |
|
| textView.pyo | File | 4.2 KB | 0644 |
|