/opt/alt/python37/lib64/python3.7/idlelib/__pycache__
NameSizeModeActions
autocomplete.cpython-37.opt-1.pyc67960644editdlrm
autocomplete.cpython-37.opt-2.pyc53980644editdlrm
autocomplete.cpython-37.pyc67960644editdlrm
autocomplete_w.cpython-37.opt-1.pyc110320644editdlrm
autocomplete_w.cpython-37.opt-2.pyc102740644editdlrm
autocomplete_w.cpython-37.pyc110900644editdlrm
autoexpand.cpython-37.opt-1.pyc28260644editdlrm
autoexpand.cpython-37.opt-2.pyc20760644editdlrm
autoexpand.cpython-37.pyc28260644editdlrm
browser.cpython-37.opt-1.pyc94900644editdlrm
browser.cpython-37.opt-2.pyc68230644editdlrm
browser.cpython-37.pyc94900644editdlrm
calltip.cpython-37.opt-1.pyc55720644editdlrm
calltip.cpython-37.opt-2.pyc39510644editdlrm
calltip.cpython-37.pyc55720644editdlrm
calltip_w.cpython-37.opt-1.pyc61680644editdlrm
calltip_w.cpython-37.opt-2.pyc52350644editdlrm
calltip_w.cpython-37.pyc61680644editdlrm
codecontext.cpython-37.opt-1.pyc86950644editdlrm
codecontext.cpython-37.opt-2.pyc57000644editdlrm
codecontext.cpython-37.pyc87300644editdlrm
colorizer.cpython-37.opt-1.pyc102660644editdlrm
colorizer.cpython-37.opt-2.pyc81720644editdlrm
colorizer.cpython-37.pyc102660644editdlrm
config.cpython-37.opt-1.pyc298720644editdlrm
config.cpython-37.opt-2.pyc199520644editdlrm
config.cpython-37.pyc298720644editdlrm
configdialog.cpython-37.opt-1.pyc786130644editdlrm
configdialog.cpython-37.opt-2.pyc484560644editdlrm
configdialog.cpython-37.pyc786130644editdlrm
config_key.cpython-37.opt-1.pyc113390644editdlrm
config_key.cpython-37.opt-2.pyc99190644editdlrm
config_key.cpython-37.pyc113390644editdlrm
debugger.cpython-37.opt-1.pyc142190644editdlrm
debugger.cpython-37.opt-2.pyc140680644editdlrm
debugger.cpython-37.pyc142190644editdlrm
debugger_r.cpython-37.opt-1.pyc137710644editdlrm
debugger_r.cpython-37.opt-2.pyc113800644editdlrm
debugger_r.cpython-37.pyc138970644editdlrm
debugobj.cpython-37.opt-1.pyc51770644editdlrm
debugobj.cpython-37.opt-2.pyc51770644editdlrm
debugobj.cpython-37.pyc51770644editdlrm
debugobj_r.cpython-37.opt-1.pyc20180644editdlrm
debugobj_r.cpython-37.opt-2.pyc20180644editdlrm
debugobj_r.cpython-37.pyc20180644editdlrm
delegator.cpython-37.opt-1.pyc12800644editdlrm
delegator.cpython-37.opt-2.pyc11800644editdlrm
delegator.cpython-37.pyc12800644editdlrm
dynoption.cpython-37.opt-1.pyc22910644editdlrm
dynoption.cpython-37.opt-2.pyc19110644editdlrm
dynoption.cpython-37.pyc22910644editdlrm
editor.cpython-37.opt-1.pyc466050644editdlrm
editor.cpython-37.opt-2.pyc447050644editdlrm
editor.cpython-37.pyc466920644editdlrm
filelist.cpython-37.opt-1.pyc33760644editdlrm
filelist.cpython-37.opt-2.pyc33430644editdlrm
filelist.cpython-37.pyc34020644editdlrm
format.cpython-37.opt-1.pyc134400644editdlrm
format.cpython-37.opt-2.pyc97170644editdlrm
format.cpython-37.pyc134400644editdlrm
grep.cpython-37.opt-1.pyc77910644editdlrm
grep.cpython-37.opt-2.pyc50960644editdlrm
grep.cpython-37.pyc77910644editdlrm
help.cpython-37.opt-1.pyc103760644editdlrm
help.cpython-37.opt-2.pyc76070644editdlrm
help.cpython-37.pyc104180644editdlrm
help_about.cpython-37.opt-1.pyc73370644editdlrm
help_about.cpython-37.opt-2.pyc62150644editdlrm
help_about.cpython-37.pyc73370644editdlrm
history.cpython-37.opt-1.pyc33940644editdlrm
history.cpython-37.opt-2.pyc21690644editdlrm
history.cpython-37.pyc33940644editdlrm
hyperparser.cpython-37.opt-1.pyc67490644editdlrm
hyperparser.cpython-37.opt-2.pyc54420644editdlrm
hyperparser.cpython-37.pyc67490644editdlrm
idle.cpython-37.opt-1.pyc3390644editdlrm
idle.cpython-37.opt-2.pyc3390644editdlrm
idle.cpython-37.pyc3390644editdlrm
iomenu.cpython-37.opt-1.pyc137800644editdlrm
iomenu.cpython-37.opt-2.pyc133120644editdlrm
iomenu.cpython-37.pyc137800644editdlrm
macosx.cpython-37.opt-1.pyc75940644editdlrm
macosx.cpython-37.opt-2.pyc54120644editdlrm
macosx.cpython-37.pyc75940644editdlrm
mainmenu.cpython-37.opt-1.pyc34610644editdlrm
mainmenu.cpython-37.opt-2.pyc29900644editdlrm
mainmenu.cpython-37.pyc34610644editdlrm
multicall.cpython-37.opt-1.pyc149370644editdlrm
multicall.cpython-37.opt-2.pyc125720644editdlrm
multicall.cpython-37.pyc149940644editdlrm
outwin.cpython-37.opt-1.pyc60620644editdlrm
outwin.cpython-37.opt-2.pyc43780644editdlrm
outwin.cpython-37.pyc60620644editdlrm
parenmatch.cpython-37.opt-1.pyc63340644editdlrm
parenmatch.cpython-37.opt-2.pyc47880644editdlrm
parenmatch.cpython-37.pyc63340644editdlrm
pathbrowser.cpython-37.opt-1.pyc37430644editdlrm
pathbrowser.cpython-37.opt-2.pyc36020644editdlrm
pathbrowser.cpython-37.pyc37430644editdlrm
percolator.cpython-37.opt-1.pyc35160644editdlrm
percolator.cpython-37.opt-2.pyc35160644editdlrm
percolator.cpython-37.pyc36540644editdlrm
pyparse.cpython-37.opt-1.pyc116390644editdlrm
pyparse.cpython-37.opt-2.pyc80600644editdlrm
pyparse.cpython-37.pyc119880644editdlrm
pyshell.cpython-37.opt-1.pyc422510644editdlrm
pyshell.cpython-37.opt-2.pyc395230644editdlrm
pyshell.cpython-37.pyc423810644editdlrm
query.cpython-37.opt-1.pyc128150644editdlrm
query.cpython-37.opt-2.pyc100930644editdlrm
query.cpython-37.pyc128150644editdlrm
redirector.cpython-37.opt-1.pyc67630644editdlrm
redirector.cpython-37.opt-2.pyc33310644editdlrm
redirector.cpython-37.pyc67630644editdlrm
replace.cpython-37.opt-1.pyc93580644editdlrm
replace.cpython-37.opt-2.pyc65160644editdlrm
replace.cpython-37.pyc93580644editdlrm
rpc.cpython-37.opt-1.pyc196040644editdlrm
rpc.cpython-37.opt-2.pyc160580644editdlrm
rpc.cpython-37.pyc196910644editdlrm
run.cpython-37.opt-1.pyc176770644editdlrm
run.cpython-37.opt-2.pyc152020644editdlrm
run.cpython-37.pyc177250644editdlrm
runscript.cpython-37.opt-1.pyc70700644editdlrm
runscript.cpython-37.opt-2.pyc58360644editdlrm
runscript.cpython-37.pyc70700644editdlrm
scrolledlist.cpython-37.opt-1.pyc54030644editdlrm
scrolledlist.cpython-37.opt-2.pyc54030644editdlrm
scrolledlist.cpython-37.pyc54030644editdlrm
search.cpython-37.opt-1.pyc59310644editdlrm
search.cpython-37.opt-2.pyc34390644editdlrm
search.cpython-37.pyc59310644editdlrm
searchbase.cpython-37.opt-1.pyc80370644editdlrm
searchbase.cpython-37.opt-2.pyc52770644editdlrm
searchbase.cpython-37.pyc80370644editdlrm
searchengine.cpython-37.opt-1.pyc68410644editdlrm
searchengine.cpython-37.opt-2.pyc51910644editdlrm
searchengine.cpython-37.pyc68410644editdlrm
sidebar.cpython-37.opt-1.pyc109870644editdlrm
sidebar.cpython-37.opt-2.pyc95390644editdlrm
sidebar.cpython-37.pyc109870644editdlrm
squeezer.cpython-37.opt-1.pyc95200644editdlrm
squeezer.cpython-37.opt-2.pyc63330644editdlrm
squeezer.cpython-37.pyc95570644editdlrm
stackviewer.cpython-37.opt-1.pyc50540644editdlrm
stackviewer.cpython-37.opt-2.pyc50540644editdlrm
stackviewer.cpython-37.pyc50540644editdlrm
statusbar.cpython-37.opt-1.pyc19490644editdlrm
statusbar.cpython-37.opt-2.pyc19490644editdlrm
statusbar.cpython-37.pyc19490644editdlrm
textview.cpython-37.opt-1.pyc70650644editdlrm
textview.cpython-37.opt-2.pyc49090644editdlrm
textview.cpython-37.pyc70650644editdlrm
tooltip.cpython-37.opt-1.pyc65700644editdlrm
tooltip.cpython-37.opt-2.pyc49480644editdlrm
tooltip.cpython-37.pyc65700644editdlrm
tree.cpython-37.opt-1.pyc156960644editdlrm
tree.cpython-37.opt-2.pyc143520644editdlrm
tree.cpython-37.pyc156960644editdlrm
undo.cpython-37.opt-1.pyc107690644editdlrm
undo.cpython-37.opt-2.pyc107690644editdlrm
undo.cpython-37.pyc107690644editdlrm
window.cpython-37.opt-1.pyc31950644editdlrm
window.cpython-37.opt-2.pyc31950644editdlrm
window.cpython-37.pyc31950644editdlrm
zoomheight.cpython-37.opt-1.pyc27980644editdlrm
zoomheight.cpython-37.opt-2.pyc27490644editdlrm
zoomheight.cpython-37.pyc27980644editdlrm
zzdummy.cpython-37.opt-1.pyc12100644editdlrm
zzdummy.cpython-37.opt-2.pyc11420644editdlrm
zzdummy.cpython-37.pyc12100644editdlrm
__init__.cpython-37.opt-1.pyc5130644editdlrm
__init__.cpython-37.opt-2.pyc1510644editdlrm
__init__.cpython-37.pyc5130644editdlrm
__main__.cpython-37.opt-1.pyc2740644editdlrm
__main__.cpython-37.opt-2.pyc2030644editdlrm
__main__.cpython-37.pyc2740644editdlrm
Edit: /opt/alt/python37/lib64/python3.7/idlelib/__pycache__/squeezer.cpython-37.opt-1.pyc (9520B)
B  f(2@sdZddlZddlZddlmZddlmZddl m Z ddl m Z ddl mZddd ZGd d d ejZGd d d ZeedkrddlmZedddddS)a An IDLE extension to avoid having very long texts printed in the shell. A common problem in IDLE's interactive shell is printing of large amounts of text into the shell. This makes looking at the previous history difficult. Worse, this can cause IDLE to become very slow, even to the point of being completely unusable. This extension will automatically replace long texts with a small button. Double-clicking this button will remove it and insert the original text instead. Middle-clicking will copy the text to the clipboard. Right-clicking will open the text in a separate viewing window. Additionally, any output can be manually "squeezed" by the user. This includes output written to the standard error stream ("stderr"), such as exception messages and their tracebacks. N)idleConf) view_text)Hovertip)macosxPcCsd}d}d}d}xtd|D]~}||}||7}||7}||dkrp||krb||d|7}|d7}d}n$||||7}||kr|d7}|}|d7}qW|t||7}|dkr||d|7}n|d8}|S)zCount the number of lines in a given string. Lines are counted as if the string was wrapped so that lines are never over linewidth characters long. Tabs are considered tabwidth characters long. rz[\t\n] )refinditerstartlen)sZ linewidthZtabwidthposZ linecountZcurrent_columnmnumcharsr5/opt/alt/python37/lib64/python3.7/idlelib/squeezer.pycount_lines_with_wrappings.   rc@sJeZdZdZddZddZdddZdd d Zdd d Zd Z ddZ dS)ExpandingButtonaClass for the "squeezed" text buttons used by Squeezer These buttons are displayed inside a Tk Text widget in place of text. A user can then use the button to replace it with the original text, copy the original text to the clipboard or view the original text in a separate window. Each button is tied to a Squeezer instance, and it knows to update the Squeezer instance when it is expanded (and therefore removed). c s|_||_||_||_|j|_}|j|_}|jj|_|dkrFdnd}d|d|d}t j j |||ddd d } t || d d | d |jtr| d|jn| d|j|fddd|_||jdS)NrlineslinezSqueezed text ( z).z#FFFFC0z#FFFFE0)textZ backgroundZactivebackgroundz5Double-click to expand, right-click for more options.r)Z hover_delayzz z cst|t|t|S)N)int)offsetlength)rrrzz*ExpandingButton.__init__..)rtags numoflinessqueezereditwinrperbottom base_texttkButton__init__rZbindexpandrZisAquaTkcontext_menu_eventZselection_handle is_dangerousZ after_idleset_is_dangerous) selfrrr r!r"rZline_pluralityZ button_textZbutton_tooltip_textr)rrr(_s*     zExpandingButton.__init__csLd|j|jdkpDt|jdkpDtfddtd|jD|_dS)N2iiPc3s |]}t|dkVqdS)rN)r group).0Z line_match)dangerous_line_lenrr sz3ExpandingButton.set_is_dangerous..z[^\n]+) rZ winfo_widthr r ranyr r r+)r-r)r1rr,s   z ExpandingButton.set_is_dangerousNcCs|jdkr||jrTtjddddddg|jt|jftj|j d}|sTd S|j |j ||j|j |j ||jj|dS) aAexpand event handler This inserts the original text in place of the button in the Text widget, removes the button and updates the Squeezer instance. If the original text is dangerously long, i.e. expanding it could cause a performance degradation, ask the user for confirmation. NzExpand huge output?z z5The squeezed output is very long: %d lines, %d chars.z2Expanding it could make IDLE slow or unresponsive.z5It is recommended to view or copy the output instead.zReally expand?)titlemessagedefaultparentbreak)r+r, tkMessageBoxZ askokcanceljoinr r rZCANCELrr%insertindexrdeleter!expandingbuttonsremove)r-eventZconfirmrrrr)s$   zExpandingButton.expandcCs|||jdS)zMcopy event handler Copy the original text to the clipboard. N)Zclipboard_clearZclipboard_appendr)r-r@rrrcopyszExpandingButton.copycCst|jd|jddddS)z]view event handler View the original text in a separate text viewer window. zSqueezed Output ViewerFZnone)ZmodalZwrapN)rrr)r-r@rrrviews zExpandingButton.view))rArA)rBrBcCsf|jdd|j|jftj|jdd}x&|jD]\}}|j|t||dq2W| |j |j dS)Nr;z@%d,%dr)Ztearoff)labelZcommandr8) rZmark_setxyr&ZMenu rmenu_specsZ add_commandgetattrZtk_popupZx_rootZy_root)r-r@ZrmenurCZ method_namerrrr*s z"ExpandingButton.context_menu_event)N)N)N) __name__ __module__ __qualname____doc__r(r,r)rArBrFr*rrrrrTs     rc@s4eZdZdZeddZddZddZdd Zd S) SqueezerzReplace long outputs in the shell with a simple button. This avoids IDLE's shell slowing down considerably, and even becoming completely unresponsive, when very long outputs are written. cCstjdddddd|_dS)z!Load class variables from config.mainZPyShellzauto-squeeze-min-linesrr.)typer6N)rZ GetOptionauto_squeeze_min_lines)clsrrrreloadszSqueezer.reloadcsd|_|j_|jj_dtdtd_g_d|j ffdd }||_ dS)aeInitialize settings for Squeezer. editwin is the shell's Editor window. self.text is the editor window text widget. self.base_test is the actual editor window Tk text widget, rather than EditorWindow's wrapper. self.expandingbuttons is the list of all buttons representing "squeezed" output. Zborderpadxrcs|dkr|||Sj}t||kr.|||S|}||krJ|||St|||}dtjjd|dddd dtj j |dS)NstdoutZiomark)windowrSpady) rOr count_linesrZ mark_gravityr&ZRIGHT window_createZseeupdateZLEFTr>append)rrwriterOr expandingbutton)r-rrrmywrites        z"Squeezer.__init__..mywriteN) r"rr#r$r%rZcgetZwindow_width_deltar>r])r-r"r_r)r-rrr(s    zSqueezer.__init__cCst||jjS)abCount the number of lines in a given text. Before calculation, the tab width and line length of the text are fetched, so that up-to-date values are used. Lines are counted as if the string was wrapped so that lines are never over linewidth characters long. Tabs are considered tabwidth characters long. )rr"width)r-rrrrrYs zSqueezer.count_linesc Cs|jtj}x$dD]}||krPqW|jdS|j|tjd\}}|j||}t|dkr|ddkr|jd|}|dd}|j ||| |}t ||||}|jj ||d d d t|j} x2| dkr|j|j| d d |r| d 8} qW|j| |dS)zsqueeze-current-text event handler Squeeze the block of text inside which contains the "insert" cursor. If the insert cursor is not in a squeezable block of text, give the user a small warning and do nothing. )rTstderrr8z+1crr z%s-1cNrUrV)rWrSrXr>)r tag_namesr&ZINSERTZbellZ tag_prevrangegetr r<r%r=rYrrZr>Zcomparer;) r-r@rdZtag_namer endrr r^irrrsqueeze_current_text_event s,          z#Squeezer.squeeze_current_text_eventN) rHrIrJrK classmethodrQr(rYrhrrrrrLs  ? rL__main__)rMzidlelib.idle_test.test_squeezerrRF) verbosityexit)r)rKr Ztkinterr&Ztkinter.messageboxZ messageboxr9Zidlelib.configrZidlelib.textviewrZidlelib.tooltiprZidlelibrrr'rrLrQrHZunittestrMrrrrs      8r