GRAYBYTE WORDPRESS FILE MANAGER9532

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/alt/python33/lib64/python3.3/idlelib/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/python33/lib64/python3.3/idlelib//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)


[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 20 2024 08:31:19
root / linksafe
0755
Icons
--
May 20 2024 08:31:19
root / linksafe
0755
__pycache__
--
May 20 2024 08:31:19
root / linksafe
0755
idle_test
--
May 20 2024 08:31:19
root / linksafe
0755
AutoComplete.py
8.869 KB
April 17 2024 16:58:17
root / linksafe
0644
AutoCompleteWindow.py
17.258 KB
April 17 2024 16:58:17
root / linksafe
0644
AutoExpand.py
2.425 KB
April 17 2024 16:58:17
root / linksafe
0644
Bindings.py
3.354 KB
April 17 2024 16:58:17
root / linksafe
0644
CREDITS.txt
1.821 KB
September 19 2017 07:32:02
root / linksafe
0644
CallTipWindow.py
5.761 KB
April 17 2024 16:58:17
root / linksafe
0644
CallTips.py
5.793 KB
April 17 2024 16:58:17
root / linksafe
0644
ChangeLog
55.071 KB
September 19 2017 07:32:02
root / linksafe
0644
ClassBrowser.py
6.222 KB
April 17 2024 16:58:17
root / linksafe
0644
CodeContext.py
8.157 KB
April 17 2024 16:58:17
root / linksafe
0644
ColorDelegator.py
10.222 KB
April 17 2024 16:58:17
root / linksafe
0644
Debugger.py
15.983 KB
April 17 2024 16:58:17
root / linksafe
0644
Delegator.py
0.649 KB
April 17 2024 16:58:17
root / linksafe
0644
EditorWindow.py
64.753 KB
April 17 2024 16:58:17
root / linksafe
0644
FileList.py
3.725 KB
April 17 2024 16:58:17
root / linksafe
0644
FormatParagraph.py
6.998 KB
April 17 2024 16:58:17
root / linksafe
0644
GrepDialog.py
4.015 KB
April 17 2024 16:58:17
root / linksafe
0644
HISTORY.txt
10.075 KB
September 19 2017 07:32:02
root / linksafe
0644
HyperParser.py
10.314 KB
April 17 2024 16:58:17
root / linksafe
0644
IOBinding.py
19.396 KB
April 17 2024 16:58:17
root / linksafe
0644
IdleHistory.py
4.021 KB
April 17 2024 16:58:17
root / linksafe
0644
MultiCall.py
17.118 KB
April 17 2024 16:58:17
root / linksafe
0644
MultiStatusBar.py
0.765 KB
April 17 2024 16:58:17
root / linksafe
0644
NEWS.txt
33.61 KB
September 19 2017 07:32:02
root / linksafe
0644
ObjectBrowser.py
3.661 KB
April 17 2024 16:58:17
root / linksafe
0644
OutputWindow.py
4.291 KB
April 17 2024 16:58:17
root / linksafe
0644
ParenMatch.py
6.472 KB
April 17 2024 16:58:17
root / linksafe
0644
PathBrowser.py
2.811 KB
April 17 2024 16:58:17
root / linksafe
0644
Percolator.py
2.596 KB
April 17 2024 16:58:17
root / linksafe
0644
PyParse.py
18.959 KB
April 17 2024 16:58:17
root / linksafe
0644
PyShell.py
56.521 KB
April 17 2024 16:58:17
root / linksafe
0755
README.txt
2.443 KB
September 19 2017 07:32:02
root / linksafe
0644
RemoteDebugger.py
11.747 KB
April 17 2024 16:58:17
root / linksafe
0644
RemoteObjectBrowser.py
0.941 KB
April 17 2024 16:58:17
root / linksafe
0644
ReplaceDialog.py
5.692 KB
April 17 2024 16:58:17
root / linksafe
0644
RstripExtension.py
1.025 KB
April 17 2024 16:58:17
root / linksafe
0644
ScriptBinding.py
7.88 KB
April 17 2024 16:58:17
root / linksafe
0644
ScrolledList.py
3.903 KB
April 17 2024 16:58:17
root / linksafe
0644
SearchDialog.py
1.969 KB
April 17 2024 16:58:17
root / linksafe
0644
SearchDialogBase.py
5.063 KB
April 17 2024 16:58:17
root / linksafe
0644
SearchEngine.py
7.367 KB
April 17 2024 16:58:17
root / linksafe
0644
StackViewer.py
3.483 KB
April 17 2024 16:58:17
root / linksafe
0644
TODO.txt
8.279 KB
September 19 2017 07:32:02
root / linksafe
0644
ToolTip.py
2.672 KB
April 17 2024 16:58:17
root / linksafe
0644
TreeWidget.py
14.863 KB
April 17 2024 16:58:17
root / linksafe
0644
UndoDelegator.py
10.063 KB
April 17 2024 16:58:17
root / linksafe
0644
WidgetRedirector.py
4.372 KB
April 17 2024 16:58:17
root / linksafe
0644
WindowList.py
2.414 KB
April 17 2024 16:58:17
root / linksafe
0644
ZoomHeight.py
1.276 KB
April 17 2024 16:58:17
root / linksafe
0644
__init__.py
0.036 KB
April 17 2024 16:58:17
root / linksafe
0644
__main__.py
0.106 KB
April 17 2024 16:58:17
root / linksafe
0644
aboutDialog.py
6.421 KB
April 17 2024 16:58:17
root / linksafe
0644
config-extensions.def
2.723 KB
September 19 2017 07:32:02
root / linksafe
0644
config-highlight.def
1.699 KB
September 19 2017 07:32:02
root / linksafe
0644
config-keys.def
7.348 KB
September 19 2017 07:32:02
root / linksafe
0644
config-main.def
2.455 KB
September 19 2017 07:32:02
root / linksafe
0644
configDialog.py
51.611 KB
April 17 2024 16:58:17
root / linksafe
0644
configHandler.py
28.636 KB
April 17 2024 16:58:17
root / linksafe
0644
configHelpSourceEdit.py
6.567 KB
April 17 2024 16:58:17
root / linksafe
0644
configSectionNameDialog.py
4.213 KB
April 17 2024 16:58:17
root / linksafe
0644
dynOptionMenuWidget.py
1.277 KB
April 17 2024 16:58:17
root / linksafe
0644
extend.txt
3.557 KB
September 19 2017 07:32:02
root / linksafe
0644
help.txt
11.713 KB
September 19 2017 07:32:02
root / linksafe
0644
idle.py
0.391 KB
April 17 2024 16:58:17
root / linksafe
0644
idle.pyw
0.655 KB
September 19 2017 07:32:02
root / linksafe
0644
idlever.py
0.022 KB
April 17 2024 16:58:17
root / linksafe
0644
keybindingDialog.py
12.136 KB
April 17 2024 16:58:17
root / linksafe
0644
macosxSupport.py
7.004 KB
April 17 2024 16:58:17
root / linksafe
0644
rpc.py
20.462 KB
April 17 2024 16:58:17
root / linksafe
0644
run.py
13.373 KB
April 17 2024 16:58:17
root / linksafe
0644
tabbedpages.py
17.741 KB
April 17 2024 16:58:17
root / linksafe
0644
textView.py
3.462 KB
April 17 2024 16:58:17
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF