HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/idlelib/__pycache__/config.cpython-310.opt-2.pyc
o

�i��@s�	ddlmZddlZddlZddlmZddlZGdd�de�ZGdd�de�Z	Gdd	�d	e�Z
Gd
d�de�ZGdd
�d
e�ZGdd�d�Z
e
�Ze�Zdd�ZGdd�de�Zdd�ZedkrqddlmZedddd�dSdS)�)�ConfigParserN)�Fontc@�eZdZdS)�InvalidConfigTypeN��__name__�
__module__�__qualname__�r
r
�+/usr/local/lib/python3.10/idlelib/config.pyr#�rc@r)�InvalidConfigSetNrr
r
r
rr
$rr
c@r)�InvalidThemeNrr
r
r
rr%rrc@s2eZdZ	ddd�Zddd�Zdd�Zd	d
�ZdS)
�IdleConfParserNcCs	||_tj||dd�dS)NF)�defaults�strict)�filer�__init__)�self�cfgFileZcfgDefaultsr
r
rr+szIdleConfParser.__init__FcCsJ	|�||�s	|S|dkr|�||�S|dkr|�||�S|j|||d�S)N�bool�int��raw)�
has_optionZ
getbooleanZgetint�get)r�section�option�type�defaultrr
r
r�Get2szIdleConfParser.GetcCs	|�|�r|�|�SgS�N)�has_section�options�rrr
r
r�
GetOptionListCs

zIdleConfParser.GetOptionListcCs	|jr|�|j�dSdSr!)r�read�rr
r
r�LoadJs�zIdleConfParser.Loadr!)NNF)rrr	rr r%r(r
r
r
rr's

rc@s>eZdZ	dd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�IdleUserConfParsercCsZ	|�||�r|�||�|krdS|�|||�dS|�|�s$|�|�|�|||�dS)NFT)rr�setr"�add_section)rrr�valuer
r
r�	SetOptionTs

zIdleUserConfParser.SetOptioncCs	|�|�r|�||�SdS)NF)r"Z
remove_option)rrrr
r
r�RemoveOptiones
zIdleUserConfParser.RemoveOptioncCs	|�|�s
|�|�dSdSr!)r"r+r$r
r
r�
AddSectionns
�zIdleUserConfParser.AddSectioncCs(	|��D]}|�|�s|�|�qdSr!)�sectionsr%�remove_sectionr$r
r
r�RemoveEmptySectionsss

��z&IdleUserConfParser.RemoveEmptySectionscCs	|��|��Sr!)r2r0r'r
r
r�IsEmptyys
zIdleUserConfParser.IsEmptycCs�	|j}|rT|ddkrV|��sEzt|d�}Wnty*t�|�t|d�}Ynw|�|�|�Wd�dS1s>wYdStj�|j�rXt�	|j�dSdSdSdS)Nr�#�w)
rr3�open�OSError�os�unlink�write�path�exists�remove)rZfnamerr
r
r�Save~s"
�"��	zIdleUserConfParser.SaveN)	rrr	r-r.r/r2r3r>r
r
r
rr)Os	r)c@s
eZdZ	d=dd�Zdd�Zdd�Z		d>d
d�Zdd
�Zdd�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
edd��Z			d?dd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zhd0�Zd@d1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z dS)A�IdleConfFcCs4d|_i|_i|_i|_|s|��|��dSdS)N)�main�	highlight�keys�
extensions)�config_types�
defaultCfg�userCfg�cfg�CreateConfigHandlers�LoadCfgFiles)rZ_utestr
r
rr�s�zIdleConf.__init__cCsz	tj�t�}tjrdn|��|_}|jD]$}t	tj�
|d|�d���|j|<ttj�
|p/dd|�d���|j
|<qdS)N�zconfig-z.defr4z.cfg)r8r;�dirname�__file__�idlelib�testing�
GetUserCfgDir�userdirrDr�joinrEr)rF)rZidledirrPZcfg_typer
r
rrH�s

���zIdleConf.CreateConfigHandlerscCs�	d}tj�d�}|dkr1tj�|�s1tjs/d|d}z	t|tjd�Wn	t	y.Ynwd}|dkr9t�
�}tj�||�}tj�|�svzt�|�W|St	yutjssd|d}z
t|tjd�Wt
�t	yrYt
�wt
�w|S)Nz.idlerc�~z.
 Warning: os.path.expanduser("~") points to
 z,
 but the path does not exist.�rz2
 Warning: unable to create user config directory
z(
 Check path and permissions.
 Exiting!
)r8r;�
expanduserr<rMrN�print�sys�stderrr7�getcwdrQ�mkdir�
SystemExit)rZcfgDirZuserDir�warnr
r
rrO�sR���������
zIdleConf.GetUserCfgDirNTc	Cs�	z|j|�||�r|j|j||||d�WSWn!ty:d||||j|j|||d�f}t||||�Ynwz|j|�||�rR|j|j||||d�WSWn	ty\Ynw|rmd|||f}t||||�|S)N)rrzn
 Warning: config.py - IdleConf.GetOption -
 invalid %r value for configuration option %r
 from section %r: %rrz�
 Warning: config.py - IdleConf.GetOption -
 problem retrieving configuration option %r
 from section %r.
 returning default value: %r)rFrr �
ValueError�_warnrE)	r�
configTyperrrr�warn_on_defaultr�warningr
r
r�	GetOption�s<�����
����zIdleConf.GetOptioncCs	|j|�|||�dSr!)rFr-)rr^rrr,r
r
rr-�szIdleConf.SetOptioncCsP	||jvr
td��|dkr|j|}|��S|dkr$|j|}|��Std��)NzInvalid configType specified�userr�Invalid configSet specified)rDrrFrEr
r0)r�	configSetr^�	cfgParserr
r
r�GetSectionLists

�
�zIdleConf.GetSectionListcCsT	|jd�|�rdnd}|�||�}||d}|dkrd}||d}||d�S)	NrArrbz-foregroundZcursor�normalz-background)Z
foregroundZ
background)rEr"�GetThemeDict)r�theme�elementrGZ
theme_dictZforeZbackr
r
r�GetHighlights�
zIdleConf.GetHighlightcCs	|dkr|jd}n|dkr|jd}ntd��idd�dd�d	d�d
d�dd�dd�d
d�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd�ddddddddddddddd��}|D])}|�||�s~|�d�s~d||||f}t|d||�|j||||d�||<qa|S)NrbrArzInvalid theme type specifiedznormal-foregroundz#000000znormal-backgroundz#ffffffzkeyword-foregroundzkeyword-backgroundzbuiltin-foregroundzbuiltin-backgroundzcomment-foregroundzcomment-backgroundzstring-foregroundzstring-backgroundzdefinition-foregroundzdefinition-backgroundzhilite-foregroundzhilite-backgroundZgrayzbreak-foregroundzbreak-backgroundzhit-foreground)zhit-backgroundzerror-foregroundzerror-backgroundzcontext-foregroundzcontext-backgroundzlinenumber-foregroundzlinenumber-backgroundzcursor-foregroundzstdout-foregroundzstdout-backgroundzstderr-foregroundzstderr-backgroundzconsole-foregroundzconsole-background)zcontext-zlinenumber-z{
 Warning: config.IdleConf.GetThemeDict -
 problem retrieving theme element %r
 from theme %r.
 returning default color: %r�r)rFrErr�
startswithr]r )rrZ	themeNamererirjr`r
r
rrh!s���������	�
���
�����"��
�zIdleConf.GetThemeDictcC�	|�d�S)N�Theme��current_colors_and_keysr'r
r
r�CurrentThemee�
zIdleConf.CurrentThemecCrn)NZKeysrpr'r
r
r�CurrentKeysirszIdleConf.CurrentKeyscCs�	|dkrdnd}|jd|dddd�}d	}|r |jd|d
d	d�}|s+|jd|dd	d�}|r>|r2|jn|j}||�|�r>|S|dkrDd
S|��S)NrorArBr@rrT�rrrJZname2rl�namezIDLE Classic)rarErFr"�default_keys)rrZcfgnamerrv�sourcer
r
rrqms
�z IdleConf.current_colors_and_keyscCs(tjdd�dkrdStjdkrdSdS)N��winzIDLE Classic Windows�darwinzIDLE Classic OSXzIDLE Modern Unix)rV�platformr
r
r
rrw�s

zIdleConf.default_keysc		Cs�	|�|�dd��}|�|�dd��}|D]}||vr |�|�qdD]}|�|�q#|rag}|D]-}|jd|dddd�r^|sA|rY|rFd	}nd
}|jd||dddd�rX|�|�q1|�|�q1|S|S)
NrrCrb)ZAutoCompleteZCodeContextZFormatParagraphZ
ParenMatch�enableTr�rrZ
enable_editorZenable_shellF)rrr_)�RemoveKeyBindNamesrf�appendr=ra)	r�active_onlyZeditor_onlyZ
shell_onlyZextnsZ	userExtns�extn�activeExtnsrr
r
r�
GetExtensions�sB
�
�
��
�
�
�zIdleConf.GetExtensionscCs	dd�|D�S)NcSsg|]	}|�d�s|�qS))�	_bindings�_cfgBindings)�endswith)�.0�nr
r
r�
<listcomp>�sz/IdleConf.RemoveKeyBindNames.<locals>.<listcomp>r
)rZextnNameListr
r
rr�szIdleConf.RemoveKeyBindNamescCsD	d}d|d}|jdd�D]}|�|�D]}||kr|}qq|S)N�<<�>>r�r�)r��GetExtensionKeys)r�virtualEventZextNameZvEventr��eventr
r
r�GetExtnNameForEvent�s��zIdleConf.GetExtnNameForEventc	Cs`	|d}|��}i}|jd�|�r.|jd�|�}|D]}d|d}||}|||<q|S)Nr�rCr�r�)�GetCurrentKeySetrEr"r%)	r�
extensionName�keysNameZ
activeKeys�extKeys�
eventNames�	eventNamer��bindingr
r
rr��s
zIdleConf.GetExtensionKeyscCsf	|d}i}|jd�|�r1|jd�|�}|D]}|jd||dd���}d|d}|||<q|S)Nr�rCrJrlr�r�)rEr"r%ra�split)rr�r�r�r�r�r�r�r
r
rZ__GetRawExtensionKeys�s��
zIdleConf.__GetRawExtensionKeyscCsl	|d}|�|�}|jd�|�r4|jd�|�}|D]}|jd||dd���}d|d}|||<q|S)Nr�rCrJrlr�r�)r�rEr"r%rar�)rr�Z	bindsNameZextBindsr�r�r�r�r
r
r�GetExtensionBindings�s
��
zIdleConf.GetExtensionBindingscCs*	|dd�}|jd||ddd���}|S)N����rBrJF)rr_)rar�)r�
keySetNameZeventStrr�r�r
r
r�
GetKeyBindings��zIdleConf.GetKeyBindingcCsN	|�|���}tjdkr%|��D]\}}dd�|D�}||kr$|||<q|S)Nr{cSsg|]}|�dd��qS)z<Alt-z<Option-)�replace)r��xr
r
rr�%sz-IdleConf.GetCurrentKeySet.<locals>.<listcomp>)�	GetKeySetrtrVr|�items)r�result�k�vZv2r
r
rr�s
�zIdleConf.GetCurrentKeySetcCsb	|�|�}|jdd�}|D] }|�|�}|r.|D]}|||��vr'd||<||||<qq|S)N�r�rJ)�GetCoreKeysr��_IdleConf__GetRawExtensionKeys�values)rr�ZkeySetr�r�r�r�r
r
rr�+s

�zIdleConf.GetKeySetcCs	d|d|��vS)Nr�r�)r�)rr�r
r
r�
IsCoreBinding=szIdleConf.IsCoreBinding>	�<<format-paragraph>>�<<expand-word>>�<<run-module>>�<<run-custom>>�<<zoom-height>>�<<force-open-calltip>>�<<force-open-completions>>�<<check-module>>�<<flash-paren>>c	Csr	idddg�dddg�ddd	g�d
ddg�d
dg�ddg�ddg�ddg�ddg�ddg�ddg�ddg�ddg�ddg�dd g�d!d"g�d#d$g�id%d&g�d'd(g�d)d*g�d+d,g�d-d.g�d/d0g�d1d2g�d3d4g�d5d6g�d7d8g�d9d:g�d;d<g�d=d>g�d?d@dAg�dBdCg�dDdEg�dFdGg��idHdIg�dJdKg�dLdMg�dNdOdPg�dQdRg�dSdTg�dUdVg�dWdXg�dYdZg�d[d\g�d]d^g�d_d`g�dadbg�dcddg�dedfg�dgdhg�didjg��dkgdlgdmgdngdogdpgdqgdr��}|�r7|jds�|��s|jds�|��sdt|f}t|ds|�|S|D](}|�||�}|�r|||<�q||jv�r5du||||f}t|ds||��q|S)vNz<<copy>>z<Control-c>z<Control-C>z<<cut>>z<Control-x>z<Control-X>z	<<paste>>z<Control-v>z<Control-V>z<<beginning-of-line>>z<Control-a>z<Home>z<<center-insert>>z<Control-l>z<<close-all-windows>>z<Control-q>z<<close-window>>z<Alt-F4>z<<do-nothing>>z<<end-of-file>>z<Control-d>z<<python-docs>>z<F1>z<<python-context-help>>z
<Shift-F1>z<<history-next>>z<Alt-n>z<<history-previous>>z<Alt-p>z<<interrupt-execution>>z<<view-restart>>z<F6>z<<restart-shell>>z<Control-F6>z<<open-class-browser>>z<Alt-c>z<<open-module>>z<Alt-m>z<<open-new-window>>z<Control-n>z<<open-window-from-file>>z<Control-o>z<<plain-newline-and-indent>>z<Control-j>z<<print-window>>z<Control-p>z<<redo>>z<Control-y>z<<remove-selection>>z<Escape>z<<save-copy-of-window-as-file>>z
<Alt-Shift-S>z<<save-window-as-file>>z<Alt-s>z<<save-window>>z<Control-s>z<<select-all>>z<Alt-a>z<<toggle-auto-coloring>>z<Control-slash>z<<undo>>z<Control-z>z<<find-again>>z<Control-g>z<F3>z<<find-in-files>>z<Alt-F3>z<<find-selection>>z<Control-F3>z<<find>>z<Control-f>z<<replace>>z<Control-h>z
<<goto-line>>z<Alt-g>z<<smart-backspace>>z<Key-BackSpace>z<<newline-and-indent>>z<Key-Return>z<Key-KP_Enter>z<<smart-indent>>z	<Key-Tab>z<<indent-region>>z<Control-Key-bracketright>z<<dedent-region>>z<Control-Key-bracketleft>z<<comment-region>>z<Alt-Key-3>z<<uncomment-region>>z<Alt-Key-4>z<<tabify-region>>z<Alt-Key-5>z<<untabify-region>>z<Alt-Key-6>z<<toggle-tabs>>z<Alt-Key-t>z<<change-indentwidth>>z<Alt-Key-u>z<<del-word-left>>z<Control-Key-BackSpace>z<<del-word-right>>z<Control-Key-Delete>r�z<Control-Key-space>r�z<Alt-Key-slash>z<Control-Key-backslash>z<Control-Key-0>z<Alt-Key-q>z<Key-F5>z<Shift-Key-F5>z<Alt-Key-x>z<Alt-Key-2>)r�r�r�r�r�r�r�rBza
 Warning: config.py - IdleConf.GetCoreKeys -
 key set %r is not defined, using default bindings.z�
 Warning: config.py - IdleConf.GetCoreKeys -
 problem retrieving key binding for event %r
 from key set %r.
 returning default value: %r)rFr"rEr]r��former_extension_events)rr�ZkeyBindingsr`r�r�r
r
rr�Os��������	�
���
������������������� �!�"�#�$�%�&�'�(�)�*�+�,�-�.�/�0�1�2�3�4�=�������zIdleConf.GetCoreKeysc	Cs�	g}|dkr
|jd}n|dkr|jd}ntd��|�d�}|D]3}|jd|dd�}|�d�dkr8d	}d	}n|�d�}|d
��}|d��}|rU|rU|�|||f�q"|j	dd
�d�|S)Nrbr@rrc�	HelpFiles�;rl���rJrr�cSs|dS)Nr�r
)r�r
r
r�<lambda>�sz1IdleConf.GetExtraHelpSourceList.<locals>.<lambda>)�key)
rFrEr
r%r �findr��stripr��sort)	rrdZhelpSourcesrer#rr,ZmenuItemZhelpPathr
r
r�GetExtraHelpSourceList�s*	

�zIdleConf.GetExtraHelpSourceListcCs	|�d�|�d�}|S)Nrrb)r�)rZallHelpSourcesr
r
r�GetAllExtraHelpSourcesList�s
�z#IdleConf.GetAllExtraHelpSourcesListc	Cs�	|j||ddd�}|j||dddd�}|j||dd	d
d�}|dkrBtdd
|d�}t�|�}|d}|d}|d	kr<d}|ddk}|||rIdfSdfS)NZfontZcourierrlz	font-sizerZ10ruz	font-boldrrr~ZTkFixedFontT)rvr<�root�family�size�
Zweight�boldrg)rar�actual)	rr�r^rr�r�r��fZ
actualFontr
r
r�GetFont�s"
��
zIdleConf.GetFontcCs.	|jD]}|j|��|j|��qdSr!)rEr(rF�rr�r
r
rrI�s

�zIdleConf.LoadCfgFilescCs 	|jD]	}|j|��qdSr!)rFr>r�r
r
r�SaveUserCfgFiles�s
�zIdleConf.SaveUserCfgFiles)F)NNTF)TFFr!)!rrr	rrHrOrar-rfrkrhrrrtrq�staticmethodrwr�rr�r�r�r�r�r�r�r�r�r�r�r�r�rIr�r
r
r
rr?�sH


$
�(D&

�)
` 	r?cGsJ|f|}|tvr#z	t|tjd�Wn	tyYnwt�|�dSdS)NrS)�_warnedrUrVrWr7�add)�msgr�r
r
rr]s
��r]c@sBeZdZ	dd�Zdd�Zedd��Zdd�Zd	d
�Zdd�Z	d
S)�
ConfigChangescCs0	g|_tjD]}i||<|j�||�qdSr!)�pages�idleConfrDr�)r�config_typer
r
rrs
�zConfigChanges.__init__cCs2	||}t|�}||vri||<||||<dSr!)�str)rr�r�itemr,�pager
r
r�
add_option%szConfigChanges.add_optioncCsP	tj|�||�rtj|�||�|krtj|�||�Stj|�|||�Sr!)r�rErr rFr.r-)r�rr�r,r
r
r�save_option-s
zConfigChanges.save_optionc	Cs�	tjd��d}|D];}d}||}|D]%}|dkr&tjd�d�d}||��D]\}}|�||||�r:d}q,q|rGtj|��d}qdD]	}tj|��qJ|��|S)Nr@Fr�T)rBrA)r�rFr>r1r�r��clear)r�changedr�Zcfg_type_changedr�rr�r,r
r
r�save_all:s.���zConfigChanges.save_allcCs8	|||vr|||=tj|}|�|�|��dSr!)r�rFr1r>)rr�rZ
configpager
r
r�delete_sectionXs


zConfigChanges.delete_sectioncCs	|jD]}|��qdSr!)r�r�)rr�r
r
rr�cs

�zConfigChanges.clearN)
rrr	rr�r�r�r�r�r�r
r
r
rr�s
r�csVddlm�d\}}�fdd���fdd�}|tj�|tj�td|d	|d
d�dS)Nr��crc32)rrcs.t|�}td7a�|jdd�t�at|�dS)Nr�zutf-8)�encoding)r��line�encode�crcrU)�objZtxtr�r
r�sprintrsz_dump.<locals>.sprintc	s�td|d�t|���D]7}||��}�|��|�|D]$}||�|�}�|��|�|D]}�|d||�||��q1qqdS)N�
z = )rU�sortedrBr0r#r )rGr�r0rr#r)r�r
r�dumpCfgzs���z_dump.<locals>.dumpCfgz	
lines = z, crc = rJ)�sep)�zlibr�r�rErFrU)r�r�r�r
)r�r�r�_dumpns

r��__main__)r@zidlelib.idle_test.test_configr�F)�	verbosity�exit)�configparserrr8rVZtkinter.fontrrM�	Exceptionrr
rrr)r?r�r*r�r]�dictr�r�rZunittestr@r
r
r
r�<module>s2(Bq
c�