ACC SHELL

Path : /usr/lib/python/
File Upload :
Current File : //usr/lib/python/plistlib.pyc

oMc	@sdZddddddddd	g	Zd
dkZd
dkZd
dklZd
dkZd
dkZd
ZdZ	dZ
dZdddZdddZ
dd(dYZeidZdZdZeidZdZdZdefdYZdefd YZd	efd!YZdefd"YZd#d$Zdd)d%YZd&d*d'YZdS(+splistlib.py -- a tool to generate and parse MacOSX .plist files.

The PropertyList (.plist) file format is a simple XML pickle supporting
basic object types, like dictionaries, lists, numbers and strings.
Usually the top level object is a dictionary.

To write out a plist file, use the writePlist(rootObject, pathOrFile)
function. 'rootObject' is the top level object, 'pathOrFile' is a
filename or a (writable) file object.

To parse a plist from a file, use the readPlist(pathOrFile) function,
with a file name or a (readable) file object as the only argument. It
returns the top level object (again, usually a dictionary).

To work with plist data in strings, you can use readPlistFromString()
and writePlistToString().

Values can be strings, integers, floats, booleans, tuples, lists,
dictionaries, Data or datetime.datetime objects. String values (including
dictionary keys) may be unicode strings -- they will be written out as
UTF-8.

The <data> plist type is supported through the Data class. This is a
thin wrapper around a Python string.

Generate Plist example:

    pl = dict(
        aString="Doodah",
        aList=["A", "B", 12, 32.1, [1, 2, 3]],
        aFloat=0.1,
        anInt=728,
        aDict=dict(
            anotherString="<hello & hi there!>",
            aUnicodeValue=u'M\xe4ssig, Ma\xdf',
            aTrueValue=True,
            aFalseValue=False,
        ),
        someData=Data("<binary gunk>"),
        someMoreData=Data("<lots of binary gunk>" * 10),
        aDate=datetime.datetime.fromtimestamp(time.mktime(time.gmtime())),
    )
    # unicode keys are possible, but a little awkward to use:
    pl[u'\xc5benraa'] = "That was a unicode key."
    writePlist(pl, fileName)

Parse Plist example:

    pl = readPlist(pathOrFile)
    print pl["aKey"]
t	readPlistt
writePlisttreadPlistFromStringtwritePlistToStringtreadPlistFromResourcetwritePlistToResourcetPlisttDatatDictiN(tStringIOcCscd}t|ttfot|}d}nt}|i|}|o|in|S(sRead a .plist file. 'pathOrFile' may either be a file name or a
    (readable) file object. Return the unpacked root object (which
    usually is a dictionary).
    ii(t
isinstancetstrtunicodetopentPlistParsertparsetclose(t
pathOrFiletdidOpentpt
rootObject((s/usr/lib/python2.6/plistlib.pyRDs
	cCsd}t|ttfot|d}d}nt|}|id|i||id|o|indS(sqWrite 'rootObject' to a .plist file. 'pathOrFile' may either be a
    file name or a (writable) file object.
    itwis<plist version="1.0">s</plist>N(R
RRR
tPlistWritertwritelnt
writeValueR(RRRtwriter((s/usr/lib/python2.6/plistlib.pyRTs



cCstt|S(s=Read a plist data from a string. Return the root object.
    (RR	(tdata((s/usr/lib/python2.6/plistlib.pyRdscCs t}t|||iS(s5Return 'rootObject' as a plist-formatted string.
    (R	Rtgetvalue(Rtf((s/usr/lib/python2.6/plistlib.pyRjs	
tplstic
Cstidddddkl}l}ddkl}ddkl}||}|i	|||}|i
||i||i}	|i
|t|	S(s7Read plst resource from the resource fork of path.
    s)In 3.x, readPlistFromResource is removed.t
stacklevelii(tFSReftFSGetResourceForkName(tfsRdPerm(tRes(twarningstwarnpy3ktCarbon.FileRR tCarbon.FilesR!tCarbonR"tFSOpenResourceFilet
UseResFiletGet1ResourceRtCloseResFileR(
tpathtrestypetresidRR R!R"tfsReftresNumt	plistData((s/usr/lib/python2.6/plistlib.pyRrs

c
Cstidddddkl}l}ddkl}ddkl}t	|}||}	|i
|	||}
|i|
y|i||i
Wn|ij
onX|i|}|i||d|i|i|
d	S(
sHWrite 'rootObject' as a plst resource to the resource fork of path.
    s(In 3.x, writePlistToResource is removed.Rii(RR (t
fsRdWrPerm(R"tN(R#R$R%RR R&R2R'R"RR(R)R*tRemoveResourcetErrortResourcetAddResourcet
WriteResourceR+(RR,R-R.RR R2R"R1R/R0tres((s/usr/lib/python2.6/plistlib.pyRs 

t
DumbXMLWritercBs>eZdddZdZdZddZdZRS(is	cCs(||_g|_||_||_dS(N(tfiletstacktindentLeveltindent(tselfR;R=R>((s/usr/lib/python2.6/plistlib.pyt__init__s			cCs4|ii||id||id7_dS(Ns<%s>i(R<tappendRR=(R?telement((s/usr/lib/python2.6/plistlib.pytbeginElementscCsX|idjpt|ii|jpt|id8_|id|dS(Niis</%s>(R=tAssertionErrorR<tpopR(R?RB((s/usr/lib/python2.6/plistlib.pyt
endElementscCsL|dj	o*t|}|id|||fn|id|dS(Ns<%s>%s</%s>s<%s/>(tNonet_escapeAndEncodeR(R?RBtvalue((s/usr/lib/python2.6/plistlib.pyt
simpleElements
cCsA|o&|ii|i|i|dn|iiddS(Ns
(R;twriteR=R>(R?tline((s/usr/lib/python2.6/plistlib.pyRs&N(t__name__t
__module__R@RCRFRGRJR(((s/usr/lib/python2.6/plistlib.pyR:s
		s{(?P<year>\d\d\d\d)(?:-(?P<month>\d\d)(?:-(?P<day>\d\d)(?:T(?P<hour>\d\d)(?::(?P<minute>\d\d)(?::(?P<second>\d\d))?)?)?)?)?ZcCsnd}ti|i}g}x=|D]5}||}|djoPn|it|q(Wti|S(Ntyeartmonthtdaythourtminutetsecond(syearsmonthsdayshoursminutessecond(t_dateParsertmatcht	groupdictRGRAtinttdatetime(tstordertgdtlsttkeytval((s/usr/lib/python2.6/plistlib.pyt_dateFromStrings

cCs,d|i|i|i|i|i|ifS(Ns%04d-%02d-%02dT%02d:%02d:%02dZ(RORPRQRRRSRT(td((s/usr/lib/python2.6/plistlib.pyt
_dateToStringssv[\x00\x01\x02\x03\x04\x05\x06\x07\x08\x0b\x0c\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f]cCsti|}|dj	otdn|idd}|idd}|idd}|idd}|id	d
}|idS(NsDstrings can't contains control characters; use plistlib.Data insteads
s
s
t&s&amp;t<s&lt;t>s&gt;sutf-8(t_controlCharPattsearchRGt
ValueErrortreplacetencode(ttexttm((s/usr/lib/python2.6/plistlib.pyRHs
s<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
RcBs>eZddddZdZdZdZdZRS(is	icCs2|o|itnti||||dS(N(RKtPLISTHEADERR:R@(R?R;R=R>twriteHeader((s/usr/lib/python2.6/plistlib.pyR@scCskt|ttfo|id|n>t|to)|o|idqg|idnt|ttfo|idd|nt|to|idt|nt|t	o|i
|nt|to|i|nkt|t
i
o|idt|n>t|ttfo|i|ntdt|dS(	Ntstringttruetfalsetintegers%dtrealtdatesunsuported type: %s(R
RRRJtboolRXtlongtfloattreprtdictt	writeDictRt	writeDataRYRbttupletlistt
writeArrayt	TypeErrorttype(R?RI((s/usr/lib/python2.6/plistlib.pyRs&cCs|id|id8_dt|iidd|i}x8|i|idD]}|o|i|q[q[W|id7_|iddS(	NRiiLs	t is
s        (	RCR=tlenR>RitasBase64tsplitRRF(R?Rt
maxlinelengthRL((s/usr/lib/python2.6/plistlib.pyR{s
cCs|id|i}|ixW|D]O\}}t|ttfptdn|id||i|q*W|i	ddS(NRyskeys must be stringsR^(
RCtitemstsortR
RRRRJRRF(R?RaRR^RI((s/usr/lib/python2.6/plistlib.pyRzs

cCs<|idx|D]}|i|qW|iddS(Ntarray(RCRRF(R?RRI((s/usr/lib/python2.6/plistlib.pyR~s

(RMRNR@RR{RzR~(((s/usr/lib/python2.6/plistlib.pyRs
			t
_InternalDictcBs#eZdZdZdZRS(cCsQy||}Wntj
ot|nXddkl}|dtd|S(Ni(twarnsLAttribute access from plist dicts is deprecated, use d[key] notation insteadi(tKeyErrortAttributeErrorR#RtPendingDeprecationWarning(R?tattrRIR((s/usr/lib/python2.6/plistlib.pyt__getattr__)s
cCs.ddkl}|dtd|||<dS(Ni(RsLAttribute access from plist dicts is deprecated, use d[key] notation insteadi(R#RR(R?RRIR((s/usr/lib/python2.6/plistlib.pyt__setattr__3s
cCsNy||=Wntj
ot|nXddkl}|dtddS(Ni(RsLAttribute access from plist dicts is deprecated, use d[key] notation insteadi(RRR#RR(R?RR((s/usr/lib/python2.6/plistlib.pyt__delattr__9s(RMRNRRR(((s/usr/lib/python2.6/plistlib.pyR#s	
	cBseZdZRS(cKs:ddkl}|dtdtt|i|dS(Ni(Rs?The plistlib.Dict class is deprecated, use builtin dict insteadi(R#RRtsuperRR@(R?tkwargsR((s/usr/lib/python2.6/plistlib.pyR@Ds
(RMRNR@(((s/usr/lib/python2.6/plistlib.pyRBscBs5eZdZdZdZeeZdZRS(sThis class has been deprecated. Use readPlist() and writePlist()
    functions instead, together with regular dict objects.
    cKs:ddkl}|dtdtt|i|dS(Ni(RsUThe Plist class is deprecated, use the readPlist() and writePlist() functions insteadi(R#RRRRR@(R?RR((s/usr/lib/python2.6/plistlib.pyR@Qs
cCs&t|}|}|i||S(s1Deprecated. Use the readPlist() function instead.(Rtupdate(tclsRRtplist((s/usr/lib/python2.6/plistlib.pytfromFileWs	
cCst||dS(s2Deprecated. Use the writePlist() function instead.N(R(R?R((s/usr/lib/python2.6/plistlib.pyRK_s(RMRNt__doc__R@RtclassmethodRK(((s/usr/lib/python2.6/plistlib.pyRKs
		iLcCsk|dd}g}xGtdt||D]-}||||!}|iti|q-Wdi|S(NiiiR3(trangeRRAtbinasciit
b2a_base64tjoin(RZRt
maxbinsizetpiecestitchunk((s/usr/lib/python2.6/plistlib.pyt
_encodeBase64dscBsJeZdZdZdZeeZddZdZdZRS(sWrapper for binary data.cCs
||_dS(N(R(R?R((s/usr/lib/python2.6/plistlib.pyR@qscCs|ti|S(N(Rt
a2b_base64(RR((s/usr/lib/python2.6/plistlib.pyt
fromBase64tsiLcCst|i|S(N(RR(R?R((s/usr/lib/python2.6/plistlib.pyRzscCset||iot|i|iSt|tot|i|Stt|t|SdS(N(R
t	__class__tcmpRRtid(R?tother((s/usr/lib/python2.6/plistlib.pyt__cmp__}s
cCsd|iit|ifS(Ns%s(%s)(RRMRxR(R?((s/usr/lib/python2.6/plistlib.pyt__repr__s(	RMRNRR@RRRRR(((s/usr/lib/python2.6/plistlib.pyRms			RcBseZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZRS(cCsg|_d|_d|_dS(N(R<RGt
currentKeytroot(R?((s/usr/lib/python2.6/plistlib.pyR@s		cCsQddkl}|}|i|_|i|_|i|_|i||i	S(Ni(tParserCreate(
txml.parsers.expatRthandleBeginElementtStartElementHandlerthandleEndElementtEndElementHandlert
handleDatatCharacterDataHandlert	ParseFileR(R?tfileobjRtparser((s/usr/lib/python2.6/plistlib.pyRs	
cCs>g|_t|d|d}|dj	o||ndS(Ntbegin_(RtgetattrRG(R?RBtattrsthandler((s/usr/lib/python2.6/plistlib.pyRs	
cCs2t|d|d}|dj	o|ndS(Ntend_(RRG(R?RBR((s/usr/lib/python2.6/plistlib.pyRs
cCs|ii|dS(N(RRA(R?R((s/usr/lib/python2.6/plistlib.pyRscCs`|idj	o!||id|i<d|_n,|ip
||_n|idi|dS(Ni(RRGR<RRA(R?RI((s/usr/lib/python2.6/plistlib.pyt	addObjects


cCsHdi|i}y|id}Wntj
onXg|_|S(NR3tascii(RRRjtUnicodeError(R?R((s/usr/lib/python2.6/plistlib.pytgetDatas	cCs*t}|i||ii|dS(N(RRR<RA(R?RRa((s/usr/lib/python2.6/plistlib.pyt
begin_dicts	
cCs|iidS(N(R<RE(R?((s/usr/lib/python2.6/plistlib.pytend_dictscCs|i|_dS(N(RR(R?((s/usr/lib/python2.6/plistlib.pytend_keyscCs'g}|i||ii|dS(N(RR<RA(R?Rta((s/usr/lib/python2.6/plistlib.pytbegin_arrays
cCs|iidS(N(R<RE(R?((s/usr/lib/python2.6/plistlib.pyt	end_arrayscCs|itdS(N(RtTrue(R?((s/usr/lib/python2.6/plistlib.pytend_truescCs|itdS(N(RtFalse(R?((s/usr/lib/python2.6/plistlib.pyt	end_falsescCs|it|idS(N(RRXR(R?((s/usr/lib/python2.6/plistlib.pytend_integerscCs|it|idS(N(RRwR(R?((s/usr/lib/python2.6/plistlib.pytend_realscCs|i|idS(N(RR(R?((s/usr/lib/python2.6/plistlib.pyt
end_stringscCs |iti|idS(N(RRRR(R?((s/usr/lib/python2.6/plistlib.pytend_datascCs|it|idS(N(RR`R(R?((s/usr/lib/python2.6/plistlib.pytend_dates(RMRNR@RRRRRRRRRRRRRRRRRR(((s/usr/lib/python2.6/plistlib.pyRs&							
												((((Rt__all__RRYt	cStringIOR	treR#RRRRRRR:tcompileRUR`RbRfRHRmRRyRRRRRR(((s/usr/lib/python2.6/plistlib.pyt<module>3s:				$				=		

ACC SHELL 2018