404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@18.218.113.131: ~ $
from tkinter import *
from idlelib.EditorWindow import EditorWindow
import re
import tkinter.messagebox as tkMessageBox
from idlelib import IOBinding

class OutputWindow(EditorWindow):

    """An editor window that can serve as an output file.

    Also the future base class for the Python shell window.
    This class has no input facilities.
    """

    def __init__(self, *args):
        EditorWindow.__init__(self, *args)
        self.text.bind("<<goto-file-line>>", self.goto_file_line)

    # Customize EditorWindow

    def ispythonsource(self, filename):
        # No colorization needed
        return 0

    def short_title(self):
        return "Output"

    def maybesave(self):
        # Override base class method -- don't ask any questions
        if self.get_saved():
            return "yes"
        else:
            return "no"

    # Act as output file

    def write(self, s, tags=(), mark="insert"):
        if isinstance(s, (bytes, bytes)):
            s = s.decode(IOBinding.encoding, "replace")
        self.text.insert(mark, s, tags)
        self.text.see(mark)
        self.text.update()
        return len(s)

    def writelines(self, lines):
        for line in lines:
            self.write(line)

    def flush(self):
        pass

    # Our own right-button menu

    rmenu_specs = [
        ("Cut", "<<cut>>", "rmenu_check_cut"),
        ("Copy", "<<copy>>", "rmenu_check_copy"),
        ("Paste", "<<paste>>", "rmenu_check_paste"),
        (None, None, None),
        ("Go to file/line", "<<goto-file-line>>", None),
    ]

    file_line_pats = [
        # order of patterns matters
        r'file "([^"]*)", line (\d+)',
        r'([^\s]+)\((\d+)\)',
        r'^(\s*\S.*?):\s*(\d+):',  # Win filename, maybe starting with spaces
        r'([^\s]+):\s*(\d+):',     # filename or path, ltrim
        r'^\s*(\S.*?):\s*(\d+):',  # Win abs path with embedded spaces, ltrim
    ]

    file_line_progs = None

    def goto_file_line(self, event=None):
        if self.file_line_progs is None:
            l = []
            for pat in self.file_line_pats:
                l.append(re.compile(pat, re.IGNORECASE))
            self.file_line_progs = l
        # x, y = self.event.x, self.event.y
        # self.text.mark_set("insert", "@%d,%d" % (x, y))
        line = self.text.get("insert linestart", "insert lineend")
        result = self._file_line_helper(line)
        if not result:
            # Try the previous line.  This is handy e.g. in tracebacks,
            # where you tend to right-click on the displayed source line
            line = self.text.get("insert -1line linestart",
                                 "insert -1line lineend")
            result = self._file_line_helper(line)
            if not result:
                tkMessageBox.showerror(
                    "No special line",
                    "The line you point at doesn't look like "
                    "a valid file name followed by a line number.",
                    parent=self.text)
                return
        filename, lineno = result
        edit = self.flist.open(filename)
        edit.gotoline(lineno)

    def _file_line_helper(self, line):
        for prog in self.file_line_progs:
            match = prog.search(line)
            if match:
                filename, lineno = match.group(1, 2)
                try:
                    f = open(filename, "r")
                    f.close()
                    break
                except OSError:
                    continue
        else:
            return None
        try:
            return filename, int(lineno)
        except TypeError:
            return None

# These classes are currently not used but might come in handy

class OnDemandOutputWindow:

    tagdefs = {
        # XXX Should use IdlePrefs.ColorPrefs
        "stdout":  {"foreground": "blue"},
        "stderr":  {"foreground": "#007700"},
    }

    def __init__(self, flist):
        self.flist = flist
        self.owin = None

    def write(self, s, tags, mark):
        if not self.owin:
            self.setup()
        self.owin.write(s, tags, mark)

    def setup(self):
        self.owin = owin = OutputWindow(self.flist)
        text = owin.text
        for tag, cnf in self.tagdefs.items():
            if cnf:
                text.tag_configure(tag, **cnf)
        text.tag_raise('sel')
        self.write = self.owin.write

Filemanager

Name Type Size Permission Actions
Icons Folder 0755
__pycache__ Folder 0755
idle_test Folder 0755
AutoComplete.py File 8.99 KB 0644
AutoCompleteWindow.py File 17.32 KB 0644
AutoExpand.py File 3.32 KB 0644
Bindings.py File 2.97 KB 0644
CREDITS.txt File 1.82 KB 0644
CallTipWindow.py File 5.89 KB 0644
CallTips.py File 5.79 KB 0644
ChangeLog File 55.07 KB 0644
ClassBrowser.py File 6.83 KB 0644
CodeContext.py File 8.15 KB 0644
ColorDelegator.py File 9.47 KB 0644
Debugger.py File 18.32 KB 0644
Delegator.py File 665 B 0644
EditorWindow.py File 64.51 KB 0644
FileList.py File 3.72 KB 0644
FormatParagraph.py File 7.12 KB 0644
GrepDialog.py File 5 KB 0644
HISTORY.txt File 10.08 KB 0644
HyperParser.py File 12.58 KB 0644
IOBinding.py File 19.31 KB 0644
IdleHistory.py File 3.96 KB 0644
MultiCall.py File 18.14 KB 0644
MultiStatusBar.py File 1.32 KB 0644
NEWS.txt File 38.9 KB 0644
ObjectBrowser.py File 3.88 KB 0644
OutputWindow.py File 4.29 KB 0644
ParenMatch.py File 6.56 KB 0644
PathBrowser.py File 3.13 KB 0644
Percolator.py File 3.17 KB 0644
PyParse.py File 19.98 KB 0644
PyShell.py File 57.08 KB 0755
README.txt File 7.53 KB 0644
RemoteDebugger.py File 11.73 KB 0644
RemoteObjectBrowser.py File 964 B 0644
ReplaceDialog.py File 6.48 KB 0644
RstripExtension.py File 1.03 KB 0644
ScriptBinding.py File 7.87 KB 0644
ScrolledList.py File 4.27 KB 0644
SearchDialog.py File 2.57 KB 0644
SearchDialogBase.py File 6.84 KB 0644
SearchEngine.py File 7.31 KB 0644
StackViewer.py File 4.32 KB 0644
TODO.txt File 8.28 KB 0644
ToolTip.py File 3.1 KB 0644
TreeWidget.py File 14.67 KB 0644
UndoDelegator.py File 10.56 KB 0644
WidgetRedirector.py File 6.71 KB 0644
WindowList.py File 2.41 KB 0644
ZoomHeight.py File 1.27 KB 0644
__init__.py File 288 B 0644
__main__.py File 159 B 0644
aboutDialog.py File 6.53 KB 0644
config-extensions.def File 2.9 KB 0644
config-highlight.def File 2.46 KB 0644
config-keys.def File 7.59 KB 0644
config-main.def File 2.5 KB 0644
configDialog.py File 62.8 KB 0644
configHandler.py File 31.44 KB 0644
configHelpSourceEdit.py File 6.51 KB 0644
configSectionNameDialog.py File 3.91 KB 0644
dynOptionMenuWidget.py File 1.94 KB 0644
extend.txt File 3.56 KB 0644
help.html File 40.16 KB 0644
help.py File 9.47 KB 0644
help.txt File 17.48 KB 0644
idle.py File 400 B 0644
idle.pyw File 570 B 0644
idlever.py File 415 B 0644
keybindingDialog.py File 12.13 KB 0644
macosxSupport.py File 8.48 KB 0644
rpc.py File 20.29 KB 0644
run.py File 13.35 KB 0644
tabbedpages.py File 17.99 KB 0644
textView.py File 3.15 KB 0644