Current Path: > > opt > alt > python27 > lib64 > python2.7 > idlelib > >
Operation : Linux premium131.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 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
Icons | Directory | - | - | |
idle_test | Directory | - | - | |
AutoComplete.py | File | 8964 bytes | January 08 2025 10:43:10. | |
AutoComplete.pyc | File | 8181 bytes | January 08 2025 10:43:10. | |
AutoComplete.pyo | File | 8181 bytes | January 08 2025 10:43:10. | |
AutoCompleteWindow.py | File | 17318 bytes | January 08 2025 10:43:09. | |
AutoCompleteWindow.pyc | File | 12714 bytes | January 08 2025 10:43:10. | |
AutoCompleteWindow.pyo | File | 12655 bytes | January 08 2025 10:43:11. | |
AutoExpand.py | File | 3395 bytes | January 08 2025 10:43:10. | |
AutoExpand.pyc | File | 3580 bytes | January 08 2025 10:43:11. | |
AutoExpand.pyo | File | 3580 bytes | January 08 2025 10:43:11. | |
Bindings.py | File | 2976 bytes | January 08 2025 10:43:09. | |
Bindings.pyc | File | 4708 bytes | January 08 2025 10:43:09. | |
Bindings.pyo | File | 4708 bytes | January 08 2025 10:43:09. | |
CREDITS.txt | File | 1866 bytes | January 08 2025 10:43:11. | |
CallTipWindow.py | File | 6065 bytes | January 08 2025 10:43:09. | |
CallTipWindow.pyc | File | 6292 bytes | January 08 2025 10:43:09. | |
CallTipWindow.pyo | File | 6292 bytes | January 08 2025 10:43:09. | |
CallTips.py | File | 7740 bytes | January 08 2025 10:43:09. | |
CallTips.pyc | File | 8354 bytes | January 08 2025 10:43:10. | |
CallTips.pyo | File | 8354 bytes | January 08 2025 10:43:10. | |
ChangeLog | File | 56393 bytes | January 08 2025 10:43:11. | |
ClassBrowser.py | File | 6999 bytes | January 08 2025 10:43:11. | |
ClassBrowser.pyc | File | 9890 bytes | January 08 2025 10:43:10. | |
ClassBrowser.pyo | File | 9890 bytes | January 08 2025 10:43:10. | |
CodeContext.py | File | 8342 bytes | January 08 2025 10:43:09. | |
CodeContext.pyc | File | 6788 bytes | January 08 2025 10:43:11. | |
CodeContext.pyo | File | 6744 bytes | January 08 2025 10:43:09. | |
ColorDelegator.py | File | 9762 bytes | January 08 2025 10:43:09. | |
ColorDelegator.pyc | File | 9119 bytes | January 08 2025 10:43:10. | |
ColorDelegator.pyo | File | 9119 bytes | January 08 2025 10:43:10. | |
Debugger.py | File | 18236 bytes | January 08 2025 10:43:10. | |
Debugger.pyc | File | 18144 bytes | January 08 2025 10:43:10. | |
Debugger.pyo | File | 18144 bytes | January 08 2025 10:43:10. | |
Delegator.py | File | 665 bytes | January 08 2025 10:43:10. | |
Delegator.pyc | File | 1346 bytes | January 08 2025 10:43:09. | |
Delegator.pyo | File | 1346 bytes | January 08 2025 10:43:09. | |
EditorWindow.py | File | 65498 bytes | January 08 2025 10:43:09. | |
EditorWindow.pyc | File | 58522 bytes | January 08 2025 10:43:09. | |
EditorWindow.pyo | File | 58420 bytes | January 08 2025 10:43:10. | |
FileList.py | File | 3718 bytes | January 08 2025 10:43:10. | |
FileList.pyc | File | 4168 bytes | January 08 2025 10:43:11. | |
FileList.pyo | File | 4135 bytes | January 08 2025 10:43:10. | |
FormatParagraph.py | File | 7287 bytes | January 08 2025 10:43:11. | |
FormatParagraph.pyc | File | 7311 bytes | January 08 2025 10:43:09. | |
FormatParagraph.pyo | File | 7311 bytes | January 08 2025 10:43:09. | |
GrepDialog.py | File | 5145 bytes | January 08 2025 10:43:11. | |
GrepDialog.pyc | File | 6607 bytes | January 08 2025 10:43:11. | |
GrepDialog.pyo | File | 6607 bytes | January 08 2025 10:43:11. | |
HISTORY.txt | File | 10317 bytes | January 08 2025 10:43:09. | |
HyperParser.py | File | 10497 bytes | January 08 2025 10:43:09. | |
HyperParser.pyc | File | 6803 bytes | January 08 2025 10:43:09. | |
HyperParser.pyo | File | 6803 bytes | January 08 2025 10:43:09. | |
IOBinding.py | File | 21911 bytes | January 08 2025 10:43:09. | |
IOBinding.pyc | File | 19068 bytes | January 08 2025 10:43:11. | |
IOBinding.pyo | File | 19068 bytes | January 08 2025 10:43:11. | |
IdleHistory.py | File | 4052 bytes | January 08 2025 10:43:11. | |
IdleHistory.pyc | File | 4151 bytes | January 08 2025 10:43:11. | |
IdleHistory.pyo | File | 4151 bytes | January 08 2025 10:43:11. | |
MultiCall.py | File | 17701 bytes | January 08 2025 10:43:10. | |
MultiCall.pyc | File | 16793 bytes | January 08 2025 10:43:09. | |
MultiCall.pyo | File | 16719 bytes | January 08 2025 10:43:09. | |
MultiStatusBar.py | File | 1348 bytes | January 08 2025 10:43:09. | |
MultiStatusBar.pyc | File | 2357 bytes | January 08 2025 10:43:11. | |
MultiStatusBar.pyo | File | 2357 bytes | January 08 2025 10:43:11. | |
NEWS.txt | File | 47247 bytes | January 08 2025 10:43:10. | |
ObjectBrowser.py | File | 4376 bytes | January 08 2025 10:43:10. | |
ObjectBrowser.pyc | File | 7431 bytes | January 08 2025 10:43:10. | |
ObjectBrowser.pyo | File | 7431 bytes | January 08 2025 10:43:10. | |
OutputWindow.py | File | 4576 bytes | January 08 2025 10:43:11. | |
OutputWindow.pyc | File | 5427 bytes | January 08 2025 10:43:10. | |
OutputWindow.pyo | File | 5427 bytes | January 08 2025 10:43:10. | |
ParenMatch.py | File | 6714 bytes | January 08 2025 10:43:10. | |
ParenMatch.pyc | File | 7350 bytes | January 08 2025 10:43:11. | |
ParenMatch.pyo | File | 7350 bytes | January 08 2025 10:43:11. | |
PathBrowser.py | File | 3009 bytes | January 08 2025 10:43:09. | |
PathBrowser.pyc | File | 4681 bytes | January 08 2025 10:43:11. | |
PathBrowser.pyo | File | 4681 bytes | January 08 2025 10:43:11. | |
Percolator.py | File | 3222 bytes | January 08 2025 10:43:11. | |
Percolator.pyc | File | 4803 bytes | January 08 2025 10:43:11. | |
Percolator.pyo | File | 4619 bytes | January 08 2025 10:43:09. | |
PyParse.py | File | 19510 bytes | January 08 2025 10:43:10. | |
PyParse.pyc | File | 10226 bytes | January 08 2025 10:43:09. | |
PyParse.pyo | File | 9788 bytes | January 08 2025 10:43:10. | |
PyShell.py | File | 58872 bytes | January 08 2025 10:43:09. | |
PyShell.pyc | File | 54269 bytes | January 08 2025 10:43:10. | |
PyShell.pyo | File | 54167 bytes | January 08 2025 10:43:10. | |
README.txt | File | 7890 bytes | January 08 2025 10:43:10. | |
RemoteDebugger.py | File | 11632 bytes | January 08 2025 10:43:09. | |
RemoteDebugger.pyc | File | 17131 bytes | January 08 2025 10:43:10. | |
RemoteDebugger.pyo | File | 16977 bytes | January 08 2025 10:43:09. | |
RemoteObjectBrowser.py | File | 942 bytes | January 08 2025 10:43:09. | |
RemoteObjectBrowser.pyc | File | 2280 bytes | January 08 2025 10:43:10. | |
RemoteObjectBrowser.pyo | File | 2280 bytes | January 08 2025 10:43:10. | |
ReplaceDialog.py | File | 6639 bytes | January 08 2025 10:43:10. | |
ReplaceDialog.pyc | File | 8016 bytes | January 08 2025 10:43:09. | |
ReplaceDialog.pyo | File | 8016 bytes | January 08 2025 10:43:09. | |
RstripExtension.py | File | 1050 bytes | January 08 2025 10:43:10. | |
RstripExtension.pyc | File | 1665 bytes | January 08 2025 10:43:10. | |
RstripExtension.pyo | File | 1665 bytes | January 08 2025 10:43:10. | |
ScriptBinding.py | File | 8459 bytes | January 08 2025 10:43:10. | |
ScriptBinding.pyc | File | 8370 bytes | January 08 2025 10:43:09. | |
ScriptBinding.pyo | File | 8370 bytes | January 08 2025 10:43:09. | |
ScrolledList.py | File | 4373 bytes | January 08 2025 10:43:10. | |
ScrolledList.pyc | File | 6768 bytes | January 08 2025 10:43:09. | |
ScrolledList.pyo | File | 6768 bytes | January 08 2025 10:43:09. | |
SearchDialog.py | File | 2630 bytes | January 08 2025 10:43:09. | |
SearchDialog.pyc | File | 4139 bytes | January 08 2025 10:43:09. | |
SearchDialog.pyo | File | 4139 bytes | January 08 2025 10:43:09. | |
SearchDialogBase.py | File | 7094 bytes | January 08 2025 10:43:10. | |
SearchDialogBase.pyc | File | 8631 bytes | January 08 2025 10:43:11. | |
SearchDialogBase.pyo | File | 8631 bytes | January 08 2025 10:43:11. | |
SearchEngine.py | File | 7463 bytes | January 08 2025 10:43:11. | |
SearchEngine.pyc | File | 8575 bytes | January 08 2025 10:43:10. | |
SearchEngine.pyo | File | 8575 bytes | January 08 2025 10:43:10. | |
StackViewer.py | File | 4431 bytes | January 08 2025 10:43:11. | |
StackViewer.pyc | File | 6677 bytes | January 08 2025 10:43:09. | |
StackViewer.pyo | File | 6677 bytes | January 08 2025 10:43:09. | |
TODO.txt | File | 8478 bytes | January 08 2025 10:43:09. | |
ToolTip.py | File | 3173 bytes | January 08 2025 10:43:11. | |
ToolTip.pyc | File | 4890 bytes | January 08 2025 10:43:10. | |
ToolTip.pyo | File | 4890 bytes | January 08 2025 10:43:10. | |
TreeWidget.py | File | 15037 bytes | January 08 2025 10:43:09. | |
TreeWidget.pyc | File | 18383 bytes | January 08 2025 10:43:10. | |
TreeWidget.pyo | File | 18383 bytes | January 08 2025 10:43:10. | |
UndoDelegator.py | File | 10787 bytes | January 08 2025 10:43:09. | |
UndoDelegator.pyc | File | 14218 bytes | January 08 2025 10:43:09. | |
UndoDelegator.pyo | File | 14218 bytes | January 08 2025 10:43:09. | |
WidgetRedirector.py | File | 6906 bytes | January 08 2025 10:43:09. | |
WidgetRedirector.pyc | File | 7951 bytes | January 08 2025 10:43:11. | |
WidgetRedirector.pyo | File | 7951 bytes | January 08 2025 10:43:11. | |
WindowList.py | File | 2473 bytes | January 08 2025 10:43:09. | |
WindowList.pyc | File | 3831 bytes | January 08 2025 10:43:10. | |
WindowList.pyo | File | 3831 bytes | January 08 2025 10:43:10. | |
ZoomHeight.py | File | 1300 bytes | January 08 2025 10:43:11. | |
ZoomHeight.pyc | File | 1711 bytes | January 08 2025 10:43:09. | |
ZoomHeight.pyo | File | 1711 bytes | January 08 2025 10:43:09. | |
__init__.py | File | 288 bytes | January 08 2025 10:43:09. | |
__init__.pyc | File | 444 bytes | January 08 2025 10:43:11. | |
__init__.pyo | File | 444 bytes | January 08 2025 10:43:11. | |
aboutDialog.py | File | 7014 bytes | January 08 2025 10:43:09. | |
aboutDialog.pyc | File | 7017 bytes | January 08 2025 10:43:09. | |
aboutDialog.pyo | File | 7017 bytes | January 08 2025 10:43:09. | |
config-extensions.def | File | 2965 bytes | January 08 2025 10:43:10. | |
config-highlight.def | File | 2515 bytes | January 08 2025 10:43:11. | |
config-keys.def | File | 7777 bytes | January 08 2025 10:43:10. | |
config-main.def | File | 2561 bytes | January 08 2025 10:43:09. | |
configDialog.py | File | 65958 bytes | January 08 2025 10:43:09. | |
configDialog.pyc | File | 54435 bytes | January 08 2025 10:43:11. | |
configDialog.pyo | File | 54435 bytes | January 08 2025 10:43:11. | |
configHandler.py | File | 32485 bytes | January 08 2025 10:43:10. | |
configHandler.pyc | File | 29985 bytes | January 08 2025 10:43:11. | |
configHandler.pyo | File | 29985 bytes | January 08 2025 10:43:11. | |
configHelpSourceEdit.py | File | 6686 bytes | January 08 2025 10:43:10. | |
configHelpSourceEdit.pyc | File | 6712 bytes | January 08 2025 10:43:10. | |
configHelpSourceEdit.pyo | File | 6712 bytes | January 08 2025 10:43:10. | |
configSectionNameDialog.py | File | 4040 bytes | January 08 2025 10:43:09. | |
configSectionNameDialog.pyc | File | 4510 bytes | January 08 2025 10:43:11. | |
configSectionNameDialog.pyo | File | 4510 bytes | January 08 2025 10:43:11. | |
dynOptionMenuWidget.py | File | 1984 bytes | January 08 2025 10:43:09. | |
dynOptionMenuWidget.pyc | File | 2868 bytes | January 08 2025 10:43:09. | |
dynOptionMenuWidget.pyo | File | 2868 bytes | January 08 2025 10:43:09. | |
extend.txt | File | 3642 bytes | January 08 2025 10:43:11. | |
help.html | File | 42414 bytes | January 08 2025 10:43:10. | |
help.py | File | 11035 bytes | January 08 2025 10:43:10. | |
help.pyc | File | 12543 bytes | January 08 2025 10:43:09. | |
help.pyo | File | 12543 bytes | January 08 2025 10:43:09. | |
help.txt | File | 12144 bytes | January 08 2025 10:43:09. | |
idle.py | File | 453 bytes | January 08 2025 10:43:09. | |
idle.pyc | File | 423 bytes | January 08 2025 10:43:09. | |
idle.pyo | File | 423 bytes | January 08 2025 10:43:09. | |
idle.pyw | File | 563 bytes | January 08 2025 10:43:10. | |
idlever.py | File | 415 bytes | January 08 2025 10:43:10. | |
idlever.pyc | File | 591 bytes | January 08 2025 10:43:10. | |
idlever.pyo | File | 591 bytes | January 08 2025 10:43:10. | |
keybindingDialog.py | File | 12468 bytes | January 08 2025 10:43:09. | |
keybindingDialog.pyc | File | 12368 bytes | January 08 2025 10:43:10. | |
keybindingDialog.pyo | File | 12368 bytes | January 08 2025 10:43:10. | |
macosxSupport.py | File | 8435 bytes | January 08 2025 10:43:09. | |
macosxSupport.pyc | File | 8585 bytes | January 08 2025 10:43:10. | |
macosxSupport.pyo | File | 8447 bytes | January 08 2025 10:43:09. | |
rpc.py | File | 20150 bytes | January 08 2025 10:43:10. | |
rpc.pyc | File | 22495 bytes | January 08 2025 10:43:10. | |
rpc.pyo | File | 22389 bytes | January 08 2025 10:43:09. | |
run.py | File | 12917 bytes | January 08 2025 10:43:10. | |
run.pyc | File | 13770 bytes | January 08 2025 10:43:11. | |
run.pyo | File | 13712 bytes | January 08 2025 10:43:09. | |
tabbedpages.py | File | 18439 bytes | January 08 2025 10:43:09. | |
tabbedpages.pyc | File | 19081 bytes | January 08 2025 10:43:11. | |
tabbedpages.pyo | File | 19081 bytes | January 08 2025 10:43:11. | |
textView.py | File | 3520 bytes | January 08 2025 10:43:09. | |
textView.pyc | File | 4116 bytes | January 08 2025 10:43:10. | |
textView.pyo | File | 4116 bytes | January 08 2025 10:43:10. |
"""CallTips.py - An IDLE Extension to Jog Your Memory Call Tips are floating windows which display function, class, and method parameter and docstring information when you type an opening parenthesis, and which disappear when you type a closing parenthesis. """ import __main__ import re import sys import textwrap import types from idlelib import CallTipWindow from idlelib.HyperParser import HyperParser class CallTips: menudefs = [ ('edit', [ ("Show call tip", "<<force-open-calltip>>"), ]) ] def __init__(self, editwin=None): if editwin is None: # subprocess and test self.editwin = None return self.editwin = editwin self.text = editwin.text self.calltip = None self._make_calltip_window = self._make_tk_calltip_window def close(self): self._make_calltip_window = None def _make_tk_calltip_window(self): # See __init__ for usage return CallTipWindow.CallTip(self.text) def _remove_calltip_window(self, event=None): if self.calltip: self.calltip.hidetip() self.calltip = None def force_open_calltip_event(self, event): """Happens when the user really wants to open a CallTip, even if a function call is needed. """ self.open_calltip(True) def try_open_calltip_event(self, event): """Happens when it would be nice to open a CallTip, but not really necessary, for example after an opening bracket, so function calls won't be made. """ self.open_calltip(False) def refresh_calltip_event(self, event): """If there is already a calltip window, check if it is still needed, and if so, reload it. """ if self.calltip and self.calltip.is_active(): self.open_calltip(False) def open_calltip(self, evalfuncs): self._remove_calltip_window() hp = HyperParser(self.editwin, "insert") sur_paren = hp.get_surrounding_brackets('(') if not sur_paren: return hp.set_index(sur_paren[0]) expression = hp.get_expression() if not expression or (not evalfuncs and expression.find('(') != -1): return arg_text = self.fetch_tip(expression) if not arg_text: return self.calltip = self._make_calltip_window() self.calltip.showtip(arg_text, sur_paren[0], sur_paren[1]) def fetch_tip(self, expression): """Return the argument list and docstring of a function or class If there is a Python subprocess, get the calltip there. Otherwise, either fetch_tip() is running in the subprocess itself or it was called in an IDLE EditorWindow before any script had been run. The subprocess environment is that of the most recently run script. If two unrelated modules are being edited some calltips in the current module may be inoperative if the module was not the last to run. To find methods, fetch_tip must be fed a fully qualified name. """ try: rpcclt = self.editwin.flist.pyshell.interp.rpcclt except AttributeError: rpcclt = None if rpcclt: return rpcclt.remotecall("exec", "get_the_calltip", (expression,), {}) else: entity = self.get_entity(expression) return get_arg_text(entity) def get_entity(self, expression): """Return the object corresponding to expression evaluated in a namespace spanning sys.modules and __main.dict__. """ if expression: namespace = sys.modules.copy() namespace.update(__main__.__dict__) try: return eval(expression, namespace) except BaseException: # An uncaught exception closes idle, and eval can raise any # exception, especially if user classes are involved. return None def _find_constructor(class_ob): # Given a class object, return a function object used for the # constructor (ie, __init__() ) or None if we can't find one. try: return class_ob.__init__.im_func except AttributeError: for base in class_ob.__bases__: rc = _find_constructor(base) if rc is not None: return rc return None # The following are used in get_arg_text _MAX_COLS = 85 _MAX_LINES = 5 # enough for bytes _INDENT = ' '*4 # for wrapped signatures def get_arg_text(ob): '''Return a string describing the signature of a callable object, or ''. For Python-coded functions and methods, the first line is introspected. Delete 'self' parameter for classes (.__init__) and bound methods. The next lines are the first lines of the doc string up to the first empty line or _MAX_LINES. For builtins, this typically includes the arguments in addition to the return value. ''' argspec = "" try: ob_call = ob.__call__ except BaseException: if type(ob) is types.ClassType: # old-style ob_call = ob else: return argspec arg_offset = 0 if type(ob) in (types.ClassType, types.TypeType): # Look for the first __init__ in the class chain with .im_func. # Slot wrappers (builtins, classes defined in funcs) do not. fob = _find_constructor(ob) if fob is None: fob = lambda: None else: arg_offset = 1 elif type(ob) == types.MethodType: # bit of a hack for methods - turn it into a function # and drop the "self" param for bound methods fob = ob.im_func if ob.im_self is not None: arg_offset = 1 elif type(ob_call) == types.MethodType: # a callable class instance fob = ob_call.im_func arg_offset = 1 else: fob = ob # Try to build one for Python defined functions if type(fob) in [types.FunctionType, types.LambdaType]: argcount = fob.func_code.co_argcount real_args = fob.func_code.co_varnames[arg_offset:argcount] defaults = fob.func_defaults or [] defaults = list(map(lambda name: "=%s" % repr(name), defaults)) defaults = [""] * (len(real_args) - len(defaults)) + defaults items = map(lambda arg, dflt: arg + dflt, real_args, defaults) for flag, pre, name in ((0x4, '*', 'args'), (0x8, '**', 'kwargs')): if fob.func_code.co_flags & flag: pre_name = pre + name if name not in real_args: items.append(pre_name) else: i = 1 while ((name+'%s') % i) in real_args: i += 1 items.append((pre_name+'%s') % i) argspec = ", ".join(items) argspec = "(%s)" % re.sub("(?<!\d)\.\d+", "<tuple>", argspec) lines = (textwrap.wrap(argspec, _MAX_COLS, subsequent_indent=_INDENT) if len(argspec) > _MAX_COLS else [argspec] if argspec else []) if isinstance(ob_call, types.MethodType): doc = ob_call.__doc__ else: doc = getattr(ob, "__doc__", "") if doc: for line in doc.split('\n', _MAX_LINES)[:_MAX_LINES]: line = line.strip() if not line: break if len(line) > _MAX_COLS: line = line[: _MAX_COLS - 3] + '...' lines.append(line) argspec = '\n'.join(lines) return argspec if __name__ == '__main__': from unittest import main main('idlelib.idle_test.test_calltips', verbosity=2)
SILENT KILLER Tool