Viewing File: /opt/alt/python35/lib64/python3.5/idlelib/__pycache__/configHandler.cpython-35.opt-2.pyc



]~@skddlZddlZddlmZddlmZddlmZmZGddde	Z
Gddde	ZGd	d
d
e	ZGddde	Z
Gd
ddeZGdddeZGdddZeZedkrgddlmZddf\aaddZddZeejeejedtdtdddS)N)ConfigParser)	TkVersion)Font
nametofontc@seZdZdS)InvalidConfigTypeN)__name__
__module____qualname__r
r
2/opt/alt/python35/lib64/python3.5/configHandler.pyrsrc@seZdZdS)InvalidConfigSetN)rrr	r
r
r
rrsrc@seZdZdS)InvalidFgBgN)rrr	r
r
r
rr
sr
c@seZdZdS)InvalidThemeN)rrr	r
r
r
rrsrc@sLeZdZdddZdddddZddZd	d
ZdS)IdleConfParserNcCs&||_tj|d|dddS)NdefaultsstrictF)filer__init__)selfcfgFileZcfgDefaultsr
r
rr%s	zIdleConfParser.__init__FcCsh|j||s|S|dkr2|j||S|dkrN|j||S|j||d|SdS)Nboolintraw)
has_optionZ
getbooleanZgetintget)rsectionoptiontypedefaultrr
r
rGet,szIdleConfParser.GetcCs$|j|r|j|SgSdS)N)has_sectionoptions)rrr
r
r
GetOptionList=s
zIdleConfParser.GetOptionListcCs|j|jdS)N)readr)rr
r
rLoadDszIdleConfParser.Load)rrr	rrr"r$r
r
r
rr!src@sdeZdZddZddZddZddZd	d
ZddZd
dZ	dS)IdleUserConfParsercCs |j|s|j|dS)N)r add_section)rrr
r
r
AddSectionMszIdleUserConfParser.AddSectioncCs7x0|jD]"}|j|s
|j|q
WdS)N)sectionsr"Zremove_section)rrr
r
rRemoveEmptySectionsRsz&IdleUserConfParser.RemoveEmptySectionscCs|j|jS)N)r)r()rr
r
rIsEmptyXs
zIdleUserConfParser.IsEmptycCs#|j|r|j||SdS)NF)r Z
remove_option)rrrr
r
rRemoveOption]szIdleUserConfParser.RemoveOptioncCs|j||rH|j|||kr.dS|j|||dSn3|j|sd|j||j|||dSdS)NFT)rrsetr r&)rrrvaluer
r
r	SetOptionfs
zIdleUserConfParser.SetOptioncCs)tjj|jr%tj|jdS)N)ospathexistsrremove)rr
r
r
RemoveFilewszIdleUserConfParser.RemoveFilecCs|jsw|j}yt|d}Wn.tk
rXtj|t|d}YnX||j|WdQRXn
|jdS)Nw)r*ropenOSErrorr/unlinkwriter3)rZfnamerr
r
rSave|s	

zIdleUserConfParser.SaveN)
rrr	r'r)r*r+r.r3r9r
r
r
rr%Hs	r%c@sceZdZddZddZddZdddd	d
dZdd
ZddZdddZ	ddZ
ddZddZdd	d	ddZ
ddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zdd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7ZdS)8IdleConfcCs<d|_i|_i|_i|_|j|jdS)Nmain
extensions	highlightkeys)r;r<r=r>)config_types
defaultCfguserCfgcfgCreateConfigHandlersLoadCfgFiles)rr
r
rrs				
zIdleConf.__init__cCstdkr!tjjt}ntjjtjd}|j}i}i}xS|jD]H}tjj	|d|d||<tjj	|d|d||<q\Wx?|jD]4}t
|||j|<t|||j
|<qWdS)N__main__rzconfig-z.defz.cfg)rr/r0dirname__file__abspathsys
GetUserCfgDirr?joinrr@r%rA)rZidleDiruserDirZdefCfgFilesZusrCfgFilesZcfgTyper
r
rrCs		zIdleConf.CreateConfigHandlerscCsd}tjjd}|dkrvtjj|svd|d}yt|dtjWntk
roYnXd}|dkrtj}tjj	||}tjj|sytj
|Wn9tk
rd|d}t|dtjtYnX|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!
)r/r0
expanduserr1printrIstderrr6getcwdrKmkdir
SystemExit)rZcfgDirrLwarnr
r
rrJs*

zIdleConf.GetUserCfgDirNTFc	!CsNy@|j|j||r?|j|j||d|d|SWnmtk
rd||||j|j||d|f}yt|dtjWntk
rYnXYnXy@|j|j||r|j|j||d|d|SWntk
rYnX|rJd|||f}yt|dtjWntk
rIYnX|S)Nrrzu
 Warning: configHandler.py - IdleConf.GetOption -
 invalid %r value for configuration option %r
 from section %r: %rrz
 Warning: configHandler.py - IdleConf.GetOption -
 problem retrieving configuration option %r
 from section %r.
 returning default value: %r)	rArr
ValueErrorrOrIrPr6r@)	r
configTyperrrrwarn_on_defaultrwarningr
r
r	GetOptions4

	#




zIdleConf.GetOptioncCs|j|j|||dS)N)rAr.)rrVrrr-r
r
rr.szIdleConf.SetOptioncCsi||jkrtd|dkr7|j|}n(|dkrS|j|}ntd|jS)NzInvalid configType specifieduserrzInvalid configSet specified)r?rrAr@rr()r	configSetrV	cfgParserr
r
rGetSectionList	szIdleConf.GetSectionListcCs|jdj|r+|jd|}n|jd|}||d}|dkrd|d}n||d}d|d	|i}|s|S|d
kr|dS|dkr|d	StddS)
Nr=rrZz-foregroundZcursorznormal-backgroundz-backgroundZ
foregroundZ
backgroundZfgbgzInvalid fgBg specified)r@r GetThemeDictr
)rthemeelementZfgBgZ	themeDictZforeZbackr=r
r
rGetHighlights	
zIdleConf.GetHighlightc6Csv|dkr|jd}n(|dkr8|jd}ntdddddd	dd
dddddd
dddddddddddddddddddddddddddddddddddd dd!dd"di}x|D]{}|j||sNd#||||f}yt|d$tjWntk
rMYnX|j||d||||<qW|S)%NrZr=rzInvalid theme type specifiedznormal-foregroundz#000000znormal-backgroundz#ffffffzkeyword-foregroundzkeyword-backgroundzbuiltin-foregroundzbuiltin-backgroundzcomment-foregroundzcomment-backgroundzstring-foregroundzstring-backgroundzdefinition-foregroundzdefinition-backgroundzhilite-foregroundzhilite-backgroundZgrayzbreak-foregroundzbreak-backgroundzhit-foregroundzhit-backgroundzerror-foregroundzerror-backgroundzcursor-foregroundzstdout-foregroundzstdout-backgroundzstderr-foregroundzstderr-backgroundzconsole-foregroundzconsole-backgroundz
 Warning: configHandler.IdleConf.GetThemeDict -
 problem retrieving theme element %r
 from theme %r.
 returning default color: %rr)	rAr@rrrOrIrPr6r)rrZ	themeNamer\r`rarXr
r
rr_6sV

zIdleConf.GetThemeDictcCs|jddddddd}|rB|jddddd}|rO|sV|rq|jddd	dd}|r|jn|j}|d
j|r|SdSdS)Nr;ZThemerrrTZname2namer=zIDLE Classic)rYr@rAr )rrr`sourcer
r
rCurrentThemevszIdleConf.CurrentThemecCs|jdddddS)Nr;ZKeysrdrrc)rY)rr
r
rCurrentKeysszIdleConf.CurrentKeysc	Cs|j|jdd}|j|jdd}x'|D]}||kr=|j|q=W|rg}x|D]}|jd|dddddrs|s|r|rd}nd	}|jd||ddddd
dr|j|qs|j|qsW|S|SdS)Nrr<rZenableTrrZ
enable_editorZenable_shellrWF)RemoveKeyBindNamesr]appendrY)	ractive_onlyZeditor_onlyZ
shell_onlyZextnsZ	userExtnsextnactiveExtnsrr
r
r
GetExtensionss.

			zIdleConf.GetExtensionscCsn|}g}x3|D]+}|jdr|j|j|qW|jddx|D]
}||=qYW|S)N	_bindings_cfgBindingsreverseT)rorp)endswithrjindexsort)rZextnNameListnamesZkbNameIndiciesrdrsr
r
rris

zIdleConf.RemoveKeyBindNamescCsad}d|d}xF|jddD]2}x)|j|D]}||kr=|}q=Wq'W|S)Nz<<z>>rkr)rnGetExtensionKeys)rvirtualEventZextNameZvEventrleventr
r
rGetExtnNameForEventszIdleConf.GetExtnNameForEventc	Cs|d}|j}i}|jdj|r{|jdj|}x0|D](}d|d}||}|||<qOW|S)Nrpr<z<<z>>)GetCurrentKeySetr@r r")	r
extensionNamekeysNameZ
activeKeysextKeys
eventNames	eventNamerxbindingr
r
rrvs


zIdleConf.GetExtensionKeyscCs|d}i}|jdj|r|jdj|}xG|D]?}|jd||ddj}d|d}|||<qCW|S)Nrpr<rrcz<<z>>)r@r r"rYsplit)rr{r|r}r~rrrxr
r
rZ__GetRawExtensionKeyss

zIdleConf.__GetRawExtensionKeyscCs|d}|j|}|jdj|r|jdj|}xG|D]?}|jd||ddj}d|d}|||<qLW|S)Nror<rrcz<<z>>)rvr@r r"rYr)rr{Z	bindsNameZextBindsr~rrrxr
r
rGetExtensionBindingss

zIdleConf.GetExtensionBindingscCs5|dd}|jd||ddj}|S)Nr>rrc)rYr)r
keySetNameZeventStrrrr
r
r
GetKeyBindings!zIdleConf.GetKeyBindingcCsn|j|j}tjdkrjxC|jD]5\}}dd|D}||kr1|||<q1W|S)NdarwincSs"g|]}|jddqS)z<Alt-z<Option-)replace).0xr
r
r
<listcomp>"s	z-IdleConf.GetCurrentKeySet.<locals>.<listcomp>)	GetKeySetrgrIplatformitems)rresultkvZv2r
r
rrzszIdleConf.GetCurrentKeySetcCs|j|}|jdd}xb|D]Z}|j|}|r(x<|D]4}|||jkrpd||<||||<qJWq(W|S)Nrkrc)GetCoreKeysrn_IdleConf__GetRawExtensionKeysvalues)rrZkeySetrmrlr}rxr
r
rr(s


zIdleConf.GetKeySetcCsd|d|jkS)Nz<<z>>)r)rrwr
r
r
IsCoreBinding:szIdleConf.IsCoreBindingcbCsTdddgdddgddd	gd
ddgd
dgddgddgddgddgddgddgddgddgddgdd gd!d"gd#d$gd%d&gd'd(gd)d*gd+d,gd-d.gd/d0gd1d2gd3d4gd5d6gd7d8gd9d:gd;d<gd=d>gd?d@dAgdBdCgdDdEgdFdGgdHdIgdJdKgdLdMgdNdOdPgdQdRgdSdTgdUdVgdWdXgdYdZgd[d\gd]d^gd_d`gdadbgdcddgdedfgi1}|rPxv|D]n}|j||}|r	|||<qdg||||f}yt|dhtjWqtk
rKYqXqW|S)iNz<<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>z
 Warning: configHandler.py - IdleConf.GetCoreKeys -
 problem retrieving key binding for event %r
 from key set %r.
 returning default value: %rr)rrOrIrPr6)rrZkeyBindingsrxrrXr
r
rrEsz
																																										


	zIdleConf.GetCoreKeysc	Csg}|dkr"|jd}n(|dkr>|jd}ntd|jd}x|D]}|jd|dd}|jdd
krd}d}n/|jd}|d	j}|dj}|r`|r`|j|||fq`W|j	d
dd|S)NrZr;rzInvalid configSet specifiedZ	HelpFiles;rrcrkeycSs|dS)Nrr
)rr
r
r<lambda>sz1IdleConf.GetExtraHelpSourceList.<locals>.<lambda>)
rAr@rr"rfindrstriprjrt)	rr[ZhelpSourcesr\r!rr-ZmenuItemZhelpPathr
r
rGetExtraHelpSourceLists&

	zIdleConf.GetExtraHelpSourceListcCs |jd|jd}|S)NrrZ)r)rZallHelpSourcesr
r
rGetAllExtraHelpSourcesListsz#IdleConf.GetAllExtraHelpSourcesListc	Cs|j||ddd}|j||ddddd}|j||ddd	dd
}|dkrtdkr~d
}n`tddddd|}tj|}|d}|d}|d	krd}|ddk}|||rdndfS)NZfontrZcourierz	font-sizerrZ10z	font-boldrrZTkFixedFontg!@ZCourierrdr1Trootfamilysize
ZweightboldZnormal)rYrractual)	rrrVrrrrfZ
actualFontr
r
rGetFonts 			

zIdleConf.GetFontcCs:x3|jD](}|j|j|j|jq
WdS)N)r@r$rA)rrr
r
rrDszIdleConf.LoadCfgFilescCs)x"|jD]}|j|jq
WdS)N)rAr9)rrr
r
rSaveUserCfgFilesszIdleConf.SaveUserCfgFiles)rrr	rrCrJrYr.r]rbr_rfrgrnriryrvrrrrzrrrrrrrDrr
r
r
rr:s6	-@#

M 	r:rE)crc32cCs?t|}td7at|jddtat|dS)Nrencodingzutf-8)strlinerencodecrcrO)objZtxtr
r
rsprints
rcCstd|dxt|jD]}||j}t|t|xh|D]`}||j|}t|t|x0|D](}t|d||j||qWqTWq#WdS)N
z = )rOsortedr>r(rr!r)rBrr(rr!rr
r
rdumpCfgs





rz	
lines = z, crc = seprc)r/rIconfigparserrtkinterrZtkinter.fontrr	Exceptionrrr
rrr%r:ZidleConfrzlibrrrrrr@rArOr
r
r
r<module>s,'GW	



Back to Directory File Manager