Hacked By AnonymousFox

Current Path : /opt/alt/python37/lib64/python3.7/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/idlelib/__pycache__/config.cpython-37.opt-2.pyc

B

YI~d��@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�Zedkr�ddlmZedddd�dS)�)�ConfigParserN)�Fontc@seZdZdS)�InvalidConfigTypeN)�__name__�
__module__�__qualname__�rr�3/opt/alt/python37/lib64/python3.7/idlelib/config.pyr#src@seZdZdS)�InvalidConfigSetN)rrrrrrr	r
$sr
c@seZdZdS)�InvalidThemeN)rrrrrrr	r%src@s0eZdZddd�Zddd�Zdd�Zd	d
�ZdS)
�IdleConfParserNcCs||_tj||dd�dS)NF)�defaults�strict)�filer�__init__)�self�cfgFileZcfgDefaultsrrr	r+szIdleConfParser.__init__FcCsL|�||�s|S|dkr$|�||�S|dkr8|�||�S|j|||d�SdS)N�bool�int)�raw)�
has_optionZ
getbooleanZgetint�get)r�section�option�type�defaultrrrr	�Get2szIdleConfParser.GetcCs|�|�r|�|�SgSdS)N)�has_section�options)rrrrr	�
GetOptionListCs

zIdleConfParser.GetOptionListcCs|jr|�|j�dS)N)r�read)rrrr	�LoadJszIdleConfParser.Load)N)NNF)rrrrrrr!rrrr	r's

rc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�IdleUserConfParsercCs^|�||�r4|�||�|kr dS|�|||�dSn&|�|�sH|�|�|�|||�dSdS)NFT)rr�setr�add_section)rrr�valuerrr	�	SetOptionTs

zIdleUserConfParser.SetOptioncCs|�|�r|�||�SdS)NF)rZ
remove_option)rrrrrr	�RemoveOptiones
zIdleUserConfParser.RemoveOptioncCs|�|�s|�|�dS)N)rr$)rrrrr	�
AddSectionns
zIdleUserConfParser.AddSectioncCs*x$|��D]}|�|�s
|�|�q
WdS)N)�sectionsr�remove_section)rrrrr	�RemoveEmptySectionsss
z&IdleUserConfParser.RemoveEmptySectionscCs|��|��S)N)r+r))rrrr	�IsEmptyyszIdleUserConfParser.IsEmptyc	Cs�|j}|r�|ddkr�|��sryt|d�}Wn(tk
rTt�|�t|d�}YnX|�|�|�WdQRXntj�|j�r�t�	|j�dS)Nr�#�w)
rr,�open�OSError�os�unlink�write�path�exists�remove)rZfnamerrrr	�Save~s
zIdleUserConfParser.SaveN)	rrrr&r'r(r+r,r7rrrr	r"Os	r"c	@seZdZdEdd�Zdd�Zdd�ZdFd
d�Zdd
�Zdd�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
edd��ZdGdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1d2d3d4d5d6d7d8h	ZdHd9d:�Zd;d<�Zd=d>�Zd?d@�ZdAdB�ZdCdD�Z dS)I�IdleConfFcCs0d|_i|_i|_i|_|s,|��|��dS)N)�main�	highlight�keys�
extensions)�config_types�
defaultCfg�userCfg�cfg�CreateConfigHandlers�LoadCfgFiles)rZ_utestrrr	r�szIdleConf.__init__cCs|tj�t�}tjrdn|��|_}xR|jD]H}t	tj�
|d|�d���|j|<ttj�
|p^dd|�d���|j
|<q,WdS)N�zconfig-z.defr-z.cfg)r1r4�dirname�__file__�idlelib�testing�
GetUserCfgDir�userdirr=r�joinr>r"r?)rZidledirrIZcfg_typerrr	rA�szIdleConf.CreateConfigHandlerscCs�d}tj�d�}|dkrbtj�|�sbtjs^d|d}yt|tjd�Wnt	k
r\YnXd}|dkrrt�
�}tj�||�}tj�|�s�yt�|�WnRt	k
r�tjs�d|d}yt|tjd�Wnt	k
r�YnXt
�YnX|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!
)r1r4�
expanduserr5rFrG�print�sys�stderrr0�getcwdrJ�mkdir�
SystemExit)rZcfgDirZuserDir�warnrrr	rH�s4
zIdleConf.GetUserCfgDirNTc	Cs�y.|j|�||�r,|j|j||||d�SWnDtk
rrd||||j|j|||d�f}t||||�YnXy.|j|�||�r�|j|j||||d�SWntk
r�YnX|r�d|||f}t||||�|S)N)rrzn
 Warning: config.py - IdleConf.GetOption -
 invalid %r value for configuration option %r
 from section %r: %r)rz�
 Warning: config.py - IdleConf.GetOption -
 problem retrieving configuration option %r
 from section %r.
 returning default value: %r)r?rr�
ValueError�_warnr>)	r�
configTyperrrr�warn_on_defaultr�warningrrr	�	GetOption�s(

zIdleConf.GetOptioncCs|j|�|||�dS)N)r?r&)rrVrrr%rrr	r&�szIdleConf.SetOptioncCsJ||jkrtd��|dkr&|j|}n|dkr:|j|}ntd��|��S)NzInvalid configType specified�userrzInvalid configSet specified)r=rr?r>r
r))r�	configSetrV�	cfgParserrrr	�GetSectionLists
zIdleConf.GetSectionListcCsR|jd�|�rdnd}|�||�}||d}|dkr<d}||d}||d�S)	Nr:rrZz-foregroundZcursor�normalz-background)Z
foregroundZ
background)r>r�GetThemeDict)r�theme�elementr@Z
theme_dictZforeZbackrrr	�GetHighlightszIdleConf.GetHighlightc Cs�|dkr|jd}n|dkr(|jd}ntd��dddddddddddddddddddddddddddddddd�}xZ|D]R}|�||�s�|�d	�s�d
||||f}t|d||�|j||||d�||<qzW|S)NrZr:rzInvalid theme type specifiedz#000000z#ffffffZgray)znormal-foregroundznormal-backgroundzkeyword-foregroundzkeyword-backgroundzbuiltin-foregroundzbuiltin-backgroundzcomment-foregroundzcomment-backgroundzstring-foregroundzstring-backgroundzdefinition-foregroundzdefinition-backgroundzhilite-foregroundzhilite-backgroundzbreak-foregroundzbreak-backgroundzhit-foregroundzhit-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)r?r>rr�
startswithrUr)rrZ	themeNamer\r`rarXrrr	r_!sZ

zIdleConf.GetThemeDictcCs
|�d�S)N�Theme)�current_colors_and_keys)rrrr	�CurrentThemeeszIdleConf.CurrentThemecCs
|�d�S)NZKeys)re)rrrr	�CurrentKeysiszIdleConf.CurrentKeyscCs�|dkrdnd}|jd|dddd�}d	}|r>|jd|d
d	d�}|sT|jd|dd	d�}|rz|rb|jn|j}||�|�rz|S|dkr�d
S|��S)Nrdr:r;r9rrT)rrrCZname2)r�namezIDLE Classic)rYr>r?r�default_keys)rrZcfgnamerrh�sourcerrr	rems

z IdleConf.current_colors_and_keyscCs,tjdd�dkrdStjdkr$dSdSdS)N��winzIDLE Classic Windows�darwinzIDLE Classic OSXzIDLE Modern Unix)rN�platformrrrr	ri�s

zIdleConf.default_keysc		Cs�|�|�dd��}|�|�dd��}x|D]}||kr*|�|�q*WxdD]}|�|�qJW|r�g}xb|D]Z}|jd|dddd�rj|s�|r�|r�d	}nd
}|jd||dddd�r�|�|�qj|�|�qjW|S|SdS)
Nrr<rZ)ZAutoCompleteZCodeContextZFormatParagraphZ
ParenMatchZenableTr)rrZ
enable_editorZenable_shellF)rrrW)�RemoveKeyBindNamesr]�appendr6rY)	r�active_onlyZeditor_onlyZ
shell_onlyZextnsZ	userExtns�extn�activeExtnsrrrr	�
GetExtensions�s2



zIdleConf.GetExtensionscCsdd�|D�S)NcSsg|]}|�d�s|�qS))�	_bindings�_cfgBindings)�endswith)�.0�nrrr	�
<listcomp>�sz/IdleConf.RemoveKeyBindNames.<locals>.<listcomp>r)rZextnNameListrrr	ro�szIdleConf.RemoveKeyBindNamescCsJd}d|d}x4|jdd�D]$}x|�|�D]}||kr.|}q.WqW|S)Nz<<z>>r)rq)rt�GetExtensionKeys)r�virtualEventZextNameZvEventrr�eventrrr	�GetExtnNameForEvent�szIdleConf.GetExtnNameForEventc	Csb|d}|��}i}|jd�|�r^|jd�|�}x(|D] }d|d}||}|||<q:W|S)Nrvr<z<<z>>)�GetCurrentKeySetr>rr)	r�
extensionName�keysNameZ
activeKeys�extKeys�
eventNames�	eventNamer}�bindingrrr	r{�s
zIdleConf.GetExtensionKeyscCsh|d}i}|jd�|�rd|jd�|�}x6|D].}|jd||dd���}d|d}|||<q2W|S)Nrvr<rC)rz<<z>>)r>rrrY�split)rr�r�r�r�r�r�r}rrr	Z__GetRawExtensionKeys�s
zIdleConf.__GetRawExtensionKeyscCsn|d}|�|�}|jd�|�rj|jd�|�}x6|D].}|jd||dd���}d|d}|||<q8W|S)Nrur<rC)rz<<z>>)r{r>rrrYr�)rr�Z	bindsNameZextBindsr�r�r�r}rrr	�GetExtensionBindings�s

zIdleConf.GetExtensionBindingscCs(|dd�}|jd||ddd���}|S)N����r;rCF)rrW)rYr�)r�
keySetNameZeventStrr�r�rrr	�
GetKeyBindingszIdleConf.GetKeyBindingcCsP|�|���}tjdkrLx2|��D]&\}}dd�|D�}||kr"|||<q"W|S)NrmcSsg|]}|�dd��qS)z<Alt-z<Option-)�replace)rx�xrrr	rz%sz-IdleConf.GetCurrentKeySet.<locals>.<listcomp>)�	GetKeySetrgrNrn�items)r�result�k�vZv2rrr	rs
zIdleConf.GetCurrentKeySetcCsh|�|�}|jdd�}xL|D]D}|�|�}|rx0|D](}|||��krPd||<||||<q4WqW|S)N�)rqrC)�GetCoreKeysrt�_IdleConf__GetRawExtensionKeys�values)rr�ZkeySetrsrrr�r}rrr	r�+s



zIdleConf.GetKeySetcCsd|d|��kS)Nz<<z>>)r�)rr|rrr	�
IsCoreBinding=szIdleConf.IsCoreBindingz<<force-open-completions>>z<<expand-word>>z<<force-open-calltip>>z<<flash-paren>>z<<format-paragraph>>z<<run-module>>z<<check-module>>z<<zoom-height>>z<<run-custom>>c;Cs�ddgddgddgddgd	gd
gdgdgdgd
gdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgd gd!d"gd#gd$gd%gd&gd'gd(gd)d*gd+gd,gd-gd.gd/gd0gd1gd2gd3gd4gd5gd6gd7gd8gd9gd:gd;gd<gd=gd>gd?�:}|�r�|jd@�|��s<|jd@�|��s<dA|f}t|d@|�nXxV|D]N}|�||�}|�rb|||<n,||jk�rBdB||||f}t|d@||��qBW|S)CNz<Control-c>z<Control-C>z<Control-x>z<Control-X>z<Control-v>z<Control-V>z<Control-a>z<Home>z<Control-l>z<Control-q>z<Alt-F4>z<Control-d>z<F1>z
<Shift-F1>z<Alt-n>z<Alt-p>z<F6>z<Control-F6>z<Alt-c>z<Alt-m>z<Control-n>z<Control-o>z<Control-j>z<Control-p>z<Control-y>z<Escape>z
<Alt-Shift-S>z<Alt-s>z<Control-s>z<Alt-a>z<Control-slash>z<Control-z>z<Control-g>z<F3>z<Alt-F3>z<Control-F3>z<Control-f>z<Control-h>z<Alt-g>z<Key-BackSpace>z<Key-Return>z<Key-KP_Enter>z	<Key-Tab>z<Control-Key-bracketright>z<Control-Key-bracketleft>z<Alt-Key-3>z<Alt-Key-4>z<Alt-Key-5>z<Alt-Key-6>z<Alt-Key-t>z<Alt-Key-u>z<Control-Key-BackSpace>z<Control-Key-Delete>z<Control-Key-space>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>):z<<copy>>z<<cut>>z	<<paste>>z<<beginning-of-line>>z<<center-insert>>z<<close-all-windows>>z<<close-window>>z<<do-nothing>>z<<end-of-file>>z<<python-docs>>z<<python-context-help>>z<<history-next>>z<<history-previous>>z<<interrupt-execution>>z<<view-restart>>z<<restart-shell>>z<<open-class-browser>>z<<open-module>>z<<open-new-window>>z<<open-window-from-file>>z<<plain-newline-and-indent>>z<<print-window>>z<<redo>>z<<remove-selection>>z<<save-copy-of-window-as-file>>z<<save-window-as-file>>z<<save-window>>z<<select-all>>z<<toggle-auto-coloring>>z<<undo>>z<<find-again>>z<<find-in-files>>z<<find-selection>>z<<find>>z<<replace>>z
<<goto-line>>z<<smart-backspace>>z<<newline-and-indent>>z<<smart-indent>>z<<indent-region>>z<<dedent-region>>z<<comment-region>>z<<uncomment-region>>z<<tabify-region>>z<<untabify-region>>z<<toggle-tabs>>z<<change-indentwidth>>z<<del-word-left>>z<<del-word-right>>z<<force-open-completions>>z<<expand-word>>z<<force-open-calltip>>z<<flash-paren>>z<<format-paragraph>>z<<run-module>>z<<run-custom>>z<<check-module>>z<<zoom-height>>r;za
 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)r?rr>rUr��former_extension_events)rr�ZkeyBindingsrXr}r�rrr	r�Os�



zIdleConf.GetCoreKeysc	Cs�g}|dkr|jd}n|dkr,|jd}ntd��|�d�}xn|D]f}|jd|dd�}|�d�dkrpd	}d	}n"|�d�}|d
��}|d��}|rD|rD|�|||f�qDW|j	dd
�d�|S)NrZr9rzInvalid configSet specified�	HelpFiles�;)r���rCrr�cSs|dS)Nr�r)r�rrr	�<lambda>��z1IdleConf.GetExtraHelpSourceList.<locals>.<lambda>)�key)
r?r>r
rr�findr��striprp�sort)	rr[ZhelpSourcesr\rrr%ZmenuItemZhelpPathrrr	�GetExtraHelpSourceList�s&



zIdleConf.GetExtraHelpSourceListcCs|�d�|�d�}|S)NrrZ)r�)rZallHelpSourcesrrr	�GetAllExtraHelpSourcesList�sz#IdleConf.GetAllExtraHelpSourcesListc	Cs�|j||ddd�}|j||dddd�}|j||dd	d
d�}|dkr�tdd
|d�}t�|�}|d}|d}|d	krvd}|ddk}|||r�dndfS)NZfontZcourier)rz	font-sizerZ10)rrz	font-boldrr)rrZTkFixedFontT)rhr5�root�family�size�
Zweight�boldr^)rYr�actual)	rr�rVrr�r�r��fZ
actualFontrrr	�GetFont�s
zIdleConf.GetFontcCs0x*|jD] }|j|��|j|��qWdS)N)r>r!r?)rr�rrr	rB�szIdleConf.LoadCfgFilescCs"x|jD]}|j|��qWdS)N)r?r7)rr�rrr	�SaveUserCfgFiles�szIdleConf.SaveUserCfgFiles)F)NNTF)TFF)N)!rrrrrArHrYr&r]rbr_rfrgre�staticmethodrirtror~r{r�r�r�rr�r�r�r�r�r�r�rBr�rrrr	r8�sD

$
'D&	
(
` 	r8cGsH|f|}|tkrDyt|tjd�Wntk
r8YnXt�|�dS)N)r)�_warnedrMrNrOr0�add)�msgr�rrr	rUs
rUc@s@eZdZdd�Zdd�Zedd��Zdd�Zd	d
�Zdd�Z	d
S)�
ConfigChangescCs2g|_x&tjD]}i||<|j�||�qWdS)N)�pages�idleConfr=rp)r�config_typerrr	rszConfigChanges.__init__cCs0||}t|�}||kr i||<||||<dS)N)�str)rr�r�itemr%�pagerrr	�
add_option%s
zConfigChanges.add_optioncCsNtj|�||�r:tj|�||�|kr:tj|�||�Stj|�|||�S)N)r�r>rrr?r'r&)r�rr�r%rrr	�save_option-szConfigChanges.save_optionc	Cs�tjd��d}x�|D]~}d}||}xV|D]N}|dkrNtjd�d�d}x,||��D]\}}|�||||�r\d}q\Wq.W|rtj|��d}qWxdD]}tj|��q�W|��|S)Nr9Fr�T)r;r:)r�r?r7r*r�r��clear)rZchangedr�Zcfg_type_changedr�rr�r%rrr	�save_all:s&


zConfigChanges.save_allcCs6|||kr|||=tj|}|�|�|��dS)N)r�r?r*r7)rr�rZ
configpagerrr	�delete_sectionXs



zConfigChanges.delete_sectioncCsx|jD]}|��qWdS)N)r�r�)rr�rrr	r�cszConfigChanges.clearN)
rrrrr�r�r�r�r�r�rrrr	r�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�crcrM)�objZtxt)r�rr	�sprintrsz_dump.<locals>.sprintc	s�td|d�x�t|���D]v}||��}�|��|�xT|D]L}||�|�}�|��|�x(|D] }�|d||�||��qhWq@WqWdS)N�
z = )rM�sortedr;r)rr)r@r�r)rrr)r�rr	�dumpCfgzs

z_dump.<locals>.dumpCfgz	
lines = z, crc = rC)�sep)�zlibr�r�r>r?rM)r�r�r�r)r�r�r	�_dumpns

r��__main__)r9zidlelib.idle_test.test_configr�F)�	verbosity�exit)Zconfigparserrr1rNZtkinter.fontrrF�	Exceptionrr
rrr"r8r�r#r�rU�dictr�r�rZunittestr9rrrr	�<module>s,(Bq
c

Hacked By AnonymousFox1.0, Coded By AnonymousFox