MINI MINI MANI MO

Path : /usr/lib/python2.7/site-packages/iniparse/
File Upload :
Current File : //usr/lib/python2.7/site-packages/iniparse/ini.pyc

ó
†/–Sc@s@dZddlZddlmZmZmZddlZdefd„ƒYZdefd„ƒYZ	defd	„ƒYZ
d
ed„Zdefd
„ƒYZ
defd„ƒYZdefd„ƒYZdefd„ƒYZdd„Zdejfd„ƒYZd„Zd„Zd„Zdejfd„ƒYZdS(sÚAccess and/or modify INI files

* Compatiable with ConfigParser
* Preserves order of sections & options
* Preserves comments/blank lines/etc
* More conveninet access to data

Example:

    >>> from StringIO import StringIO
    >>> sio = StringIO('''# configure foo-application
    ... [foo]
    ... bar1 = qualia
    ... bar2 = 1977
    ... [foo-ext]
    ... special = 1''')

    >>> cfg = INIConfig(sio)
    >>> print cfg.foo.bar1
    qualia
    >>> print cfg['foo-ext'].special
    1
    >>> cfg.foo.newopt = 'hi!'
    >>> cfg.baz.enabled = 0

    >>> print cfg
    # configure foo-application
    [foo]
    bar1 = qualia
    bar2 = 1977
    newopt = hi!
    [foo-ext]
    special = 1
    <BLANKLINE>
    [baz]
    enabled = 0

iÿÿÿÿN(tDEFAULTSECTtParsingErrortMissingSectionHeaderErrortLineTypecBs5eZdZdd„Zd„Zd„Zd„ZRS(cCs%|dk	r!|jdƒ|_ndS(Ns
(tNonetstriptline(tselfR((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt__init__4scCs$|jdk	r|jS|jƒSdS(N(RRt	to_string(R((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt__str__:scCs0t||ƒrd|jd<n||j|<dS(NR(thasattrRt__dict__(Rtnametvalue((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt__setattr__BscCstdƒ‚dS(Ns1This method must be overridden in derived classes(t	Exception(R((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR	GsN(t__name__t
__module__RRRR
RR	(((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR1s
		tSectionLinecBsJeZejdƒZddddd„Zd„Zd„Ze	eƒZRS(s7^\[(?P<name>[^]]+)\]\s*((?P<csep>;|#)(?P<comment>.*))?$iÿÿÿÿcCs>tt|ƒj|ƒ||_||_||_||_dS(N(tsuperRRR
tcommenttcomment_separatortcomment_offset(RR
RRRR((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRQs
			cCsQd|jd}|jdk	rM|dj|jƒ}||j|j}n|S(Nt[t]t (R
RRtljustRR(Rtout((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR	Ys
cCsb|jj|jƒƒ}|dkr(dS||jdƒ|jdƒ|jdƒ|jdƒ|ƒS(NR
Rtcsep(tregextmatchtrstripRtgrouptstart(tclsRtm((s0/usr/lib/python2.7/site-packages/iniparse/ini.pytparseasN(
RRtretcompileRRRR	R%tclassmethod(((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRKs		t
OptionLinecBsMeZdddddd„Zd„ZejdƒZd„Ze	eƒZRS(s = iÿÿÿÿcCsPtt|ƒj|ƒ||_||_||_||_||_||_dS(N(	RR)RR
Rt	separatorRRR(RR
RR*RRRR((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRls					cCs\d|j|j|jf}|jdk	rX|dj|jƒ}||j|j}n|S(Ns%s%s%sR(R
R*RRRRRR(RR((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR	vs
s7^(?P<name>[^:=\s[][^:=]*)(?P<sep>[:=]\s*)(?P<value>.*)$c		Cs
|jj|jƒƒ}|dkr(dS|jdƒjƒ}|jdƒ}|jdƒt|ƒ|jdƒ}|jdƒ}|dkrß||djƒrß||d}||}|| jƒ}|jdƒ|}nd}d}d}||||||||ƒS(NR
Rtsept;iÿÿÿÿi(	RRR RR!tlentfindtisspaceR"(	R#RR$R
RR+tcoffRR((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR%‚s &
 
N(
RRRRR	R&R'RR%R((((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR)ks			 s%;#cCsRtjdd|ƒ}d|}|r2|d7}n|d7}tj|ƒt_dS(Ns
([\]\-\^])s\\\1s^(?P<csep>[%s]s
|[rR][eE][mM]s)(?P<comment>.*)$(R&tsubR'tCommentLineR(t
comment_charst	allow_remR((s0/usr/lib/python2.7/site-packages/iniparse/ini.pytchange_comment_syntax¥s


R2cBsGeZejdƒZdddd„Zd„Zd„Ze	eƒZRS(s.^(?P<csep>[;#]|[rR][eE][mM] +)(?P<comment>.*)$tt#cCs,tt|ƒj|ƒ||_||_dS(N(RR2RRR*(RRR*R((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR±s	cCs|j|jS(N(R*R(R((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR	¶scCsJ|jj|jƒƒ}|dkr(dS||jdƒ|jdƒ|ƒS(NRR(RRR RR!(R#RR$((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR%¹sN(
RRR&R'RRRR	R%R((((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR2­s
		t	EmptyLinecBs5eZd„Zed„ƒZd„ZeeƒZRS(cCsdS(NR6((R((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR	ÃscCsdS(NR6((t_((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt<lambda>ÆscCs|jƒrdS||ƒS(N(RR(R#R((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR%Ès(RRR	tpropertyRR%R((((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR8Ás		tContinuationLinecBsDeZejdƒZddd„Zd„Zd„Ze	eƒZRS(s^\s+(?P<value>.*)$cCsAtt|ƒj|ƒ||_|dkr4d}n||_dS(Ni(RR<RRRtvalue_offset(RRR=R((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRÑs
		cCsd|j|jS(NR(R=R(R((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR	ØscCsJ|jj|jƒƒ}|dkr(dS||jdƒ|jdƒ|ƒS(NR(RRR RR!R"(R#RR$((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR%ÛsN(
RRR&R'RRRR	R%R((((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR<Îs
		t
LineContainercBsƒeZd
d„Zd„Zd„Zd„Zd„Zd„Zd„Z	e
eeƒZe
ee	ƒZd„Z
d„Zd	„ZRS(cCsKg|_d|_|rGt|tƒr7|j|ƒqG|j|ƒndS(N(tcontentsRtorgvaluet
isinstancetlisttextendtadd(Rtd((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRäs		cCs|jj|ƒdS(N(R?tappend(Rtx((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRDëscCs"x|D]}|j|ƒqWdS(N(RD(RRGti((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRCîs
cCs|jdjS(Ni(R?R
(R((s0/usr/lib/python2.7/site-packages/iniparse/ini.pytget_nameñscCs||jd_dS(Ni(R?R
(Rtdata((s0/usr/lib/python2.7/site-packages/iniparse/ini.pytset_nameôscCsv|jdk	r|jSt|jƒdkr9|jdjSdjg|jD]"}t|tƒsId|j^qIƒSdS(Niis
s%s(R@RR-R?RtjoinRAR2(RRG((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt	get_value÷scCsÊ||_d|jdƒ}d}x-|jD]"}t|tƒr,|j}Pq,q,W|jdd!|_|d|jd_|d=xC|D];}|jƒr²|j	t||ƒƒq‡|j	t
ƒƒq‡WdS(Ns%ss
ii(R@tsplitRR?RAR<R=RRRDR8(RRJtlinesR=tvR((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt	set_values		
cCs/g|jD]}|jƒ^q
}dj|ƒS(Ns
(R?R
RL(RRGts((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR
s"ccsKxD|jddd…D],}t|dƒr|j|kr|VqqWdS(NiÿÿÿÿR
(R?RR
(RtkeyRG((s0/usr/lib/python2.7/site-packages/iniparse/ini.pytfinditerscCs+x|j|ƒD]}|SWt|ƒ‚dS(N(RTtKeyError(RRSRG((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR.!sN(RRRRRDRCRIRKRMRQR;R
RR
RTR.(((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR>ãs									cs`|d‰|d‰ˆdkr)|‰n‡‡‡fd†}‡‡‡fd†}t||ƒS(NRtsourcecs9t|ˆƒ}|dk	r(t|ˆƒSt|ˆƒSdS(N(tgetattrR(Rtsrcobj(tprivate_attrnametprivate_srcnametsrcattrname(s0/usr/lib/python2.7/site-packages/iniparse/ini.pytgetfn-s
csBt|ˆƒ}|dk	r.t|ˆ|ƒnt|ˆ|ƒdS(N(RWRtsetattr(RRRX(RYRZR[(s0/usr/lib/python2.7/site-packages/iniparse/ini.pytsetfn4s(RR;(t
myattrnameR[R\R^((RYRZR[s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt_make_xform_property's

	t
INISectioncBsƒeZdZdZdZdZdZeƒZ	dddd„Z
edƒZd„Z
d„Zd„Zd„Zd„Zd„ZRS(	cCs4|g|_||_||_||_i|_dS(N(t_linest	_defaultst_optionxformvaluet_optionxformsourcet_options(Rtlineobjtdefaultstoptionxformvaluetoptionxformsource((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyREs
			t_optionxformcCsÔ|dkr|jdjS|jr5|j|ƒ}ny#|j|j}||jk}WnWtk
r±|jr«||jjkr«|jj|j}||jjk}q²‚nX|rÐtj	dd|ƒ}n|S(NRiÿÿÿÿs
+s
(
RbR
RkRfRt_compat_skip_empty_linesRURcR&R1(RRSRt	del_empty((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt_compat_getOs	
cCsŽ|dkr|jdjS|jr5|j|ƒ}ny|j|jSWn@tk
r‰|jrƒ||jjkrƒ|jj|jS‚nXdS(NRiÿÿÿÿ(RbR
RkRfRRURc(RRS((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt_getitembs	
cCsŸ|jr|j|ƒ}n|}||jkrC|jj|ƒn||jkr‹tt|dƒƒ}|jdj|ƒ||j|<n||j|_dS(NR6iÿÿÿÿ(	RkRltremoveRfR>R)RbRDR(RRSRtxkeytobj((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt__setitem__ns	cCsá|jr|j|ƒ}n||jkr=|jj|ƒnx“|jD]ˆ}g}xp|jD]e}t|tƒrµ|j}|jr–|j|ƒ}n||krÂ|j|ƒqÂq]|j|ƒq]W||_qGW|j	|=dS(N(
RkRlRpRbR?RAR>R
RFRf(RRStlt	remainingtotn((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt__delitem__|s 			
ccsÐtƒ}x|jD]t}xk|jD]`}t|tƒr#|jrV|j|jƒ}n	|j}||krƒ|V|j|ƒqƒq#q#WqW|jrÌx5|jD]'}||krž|V|j|ƒqžqžWndS(N(	tsetRbR?RAR>RkR
RDRc(RRERtRGtans((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt__iter__Œs				cCstd|ƒ‚dS(NsNo sub-sections allowed(R(RR
((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt_new_namespacežsN(RRRRbRfRcRdReRyRlRR`RkRnRoRsRxR{R|(((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRa>s						cCst|jdƒƒS(Ns
(R2R (R((s0/usr/lib/python2.7/site-packages/iniparse/ini.pytmake_comment¢sccs^t}xQtrY|jƒ}|s3|r/dVndS|jdƒrKt}nt}|Vq	WdS(sCiterate over a file by only using the file object's readline methodR6Ns
(tFalsetTruetreadlinetendswith(tfthave_newlineR((s0/usr/lib/python2.7/site-packages/iniparse/ini.pytreadline_iterator¦s		cCs
|jƒS(N(tlower(RG((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR…ºst	INIConfigcBsÝeZdZdZdZdZdZdZdZ	dZ
eZdde
edddd„ZeddƒZeddƒZd„Zd„Zd„Zd„Zd„Zd	„ZeZeeeeegZd
„Z d„Z!RS(
c
Cs¹tƒ|_||_||_||_||_||_i|_|dkrWi}nt	tƒd|ƒ|_
x'|jƒD]\}}	|	|j
|<q|W|dk	rµ|j|ƒndS(NRj(
R>t_datat
_parse_excRdRet_sectionxformvaluet_sectionxformsourcet	_sectionsRRaRct	iteritemst_readfp(
RtfpRht	parse_excRiRjtsectionxformvaluetsectionxformsourceR
R((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRÈs							Rktoptionxformt
_sectionxformcCs9|tkr|jS|jr.|j|ƒ}n|j|S(N(RRcR“R‹(RRS((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRoÜs
	cCstd||ƒ‚dS(NsValues must be inside sections(R(RRSR((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRsâscCsW|jr|j|ƒ}nx+|j|jD]}|jjj|ƒq,W|j|=dS(N(R“R‹RbR‡R?Rp(RRSR((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRxås
	ccsmtƒ}|jtƒxP|jjD]B}t|tƒr#|j|kre|jV|j|jƒqeq#q#WdS(N(RyRDRR‡R?RAR>R
(RRERG((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR{ës	
cCsº|jjr"|jjtƒƒntt|ƒƒ}|jj|ƒ|jr_|j|ƒ}n||jkrŽ|j|}|jj	|ƒn(t
|d|jd|ƒ}||j|<|S(NRhRj(R‡R?RDR8R>RR“R‹RbRFRaRc(RR
Rrtns((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR|ôs	
	
cCs)|jrd}nd}||jjƒS(Nu%ss%s(t_bomR‡R
(Rtfmt((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR
s		cCs5x.|jD]}|j|ƒ}|r
|Sq
WdSdS(N(t_line_typesR%R(RRtlinetypeRg((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt_parses
c	Cs;d}d}d}d}g}t}y
|j}Wntk
rJd}nXd}	d}
d}xŒt|ƒD]~}|	dkr´t|tƒr´|ddkr´|d}t|_q´n|j	|ƒ}|	d7}	|rt|t
ttfƒr|j
rt||	|ƒ‚qt|ƒ}n|dkrl|j
r]|
dkrJt|ƒ}
n|
j|	|ƒnt|ƒ}nt|tƒr|rÌ|r¼|j|ƒg}|r¼|
jj|ƒt}q¼n|j|ƒq|j
r|
dkrðt|ƒ}
n|
j|	|ƒnt|ƒ}nt|tƒr¸|rC|j|ƒg}t}nt|ƒ}|j|ƒ|jrz|j|jƒ}n	|j}|tkr›|j}
n
|j|}
||
j|<nt|tƒr«|jj|ƒg}t}t|ƒ}|jj|ƒd}d}|jtkr6|jjj|ƒt}q«|jrT|j|jƒ}n	|j}||jkr‘t |d|jd|ƒ|j|<q«|j|jj|ƒnt|t
tfƒrj|j|ƒt|tƒrèt}qèqjqjW|jj|ƒ|r(|ddkr(|jjtƒƒn|
r7|
‚ndS(	Ns<???>iuiRhRjiÿÿÿÿs
(!RR~R
tAttributeErrorR„RAtunicodeRR•R™R2R8RRˆRR}RRFR<RCRlRDR)R>RkRRcR‹RfR‡RbR“Ra(RRŽtcur_sectiont
cur_optiontcur_section_nametcur_option_namet
pending_linestpending_empty_linestfnamet	linecounttexcRRgtoptobj((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyRs¬





		
	
	
		
			
N("RRRR‡R‹RcRdReR‰RŠRˆR~R•RR…RR`RkR“RoRsRxR{R|R
t__unicode__R8R2RR)R<R—R™R(((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyR†¾s4											(t__doc__R&tConfigParserRRRtconfigtobjectRRR)R~R5R2R8R<R>RR`tConfigNamespaceRaR}R„R…R†(((s0/usr/lib/python2.7/site-packages/iniparse/ini.pyt<module>&s" :
Dd			

OHA YOOOO