-=[ Mr. Bumblebee ]=-
_Indonesia_

Path : /usr/lib/python2.7/dist-packages/bzrlib/
File Upload :
Current File : //usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pyc

σ
]Π"Oc@@sσdZddlmZddlmZddlmZejeƒdƒddlmZm	Z	m
Z
mZm
Z
e	jd„Zd„Zd	efd
„ƒYZde
jfd„ƒYZed
dƒZdeefd„ƒYZed
dƒZdS(s2Serializer object for CHK based inventory storage.i(tabsolute_import(tStringIO(tlazy_imports0
from bzrlib import (
    xml_serializer,
    )
(tbencodet
cache_utf8terrorstrevisiont
serializercC@s5x.|jƒD] \}}||ƒd||<q
W|S(Ni(t	iteritems(tpropst_decodetkeytvalue((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pyt_validate_properties'scC@s&|dkr"td|fƒ‚ndS(Ni
s4Format number was not recognized, expected 10 got %d(t
ValueError(R((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pyt
_is_format_10/stBEncodeRevisionSerializer1cB@sΤeZdZeZi	deefd6dee	j
fd6dedfd6deefd6dedfd6dedfd6d	edfd
6dee	j
fd6de
efd6Zd
„Zd„Zd„Zd„ZRS(s5Simple revision serializer based around bencode.
    tformatt	committerttimezonet	timestamptrevision_idsrevision-idt
parent_idss
parent-idstinventory_sha1sinventory-sha1tmessaget
propertiescC@stj}d
d||jƒdfg}|jdk	rP|jd|jfƒni}x1|jjƒD] \}}||ƒd||<qfW|jd|fƒ|jdd|j	fd	|j
fd
|jfd|jfd||j
ƒdfgƒtj|ƒS(NRi
RiRRRs%.3fsrevision-ids
parent-idssinventory-sha1R(sformati
(Rt_utf8_encodeRRtNonetappendRRtextendRRRRRR(tselftrevtencode_utf8trettrevpropsRR((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pytwrite_revision_to_stringMs 	cC@s|j|j|ƒƒdS(N(twriteR#(RRtf((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pytwrite_revisiongsc
C@sHtj|ƒ}t|tƒs-tdƒ‚n|j}idd6}x}|D]u\}}||\}}}	|j|k	rštd||t|ƒfƒ‚n|	dk	r΅|	|ƒ}n|||<qJWt	|ƒt	|ƒkr.g|j
ƒD]'\}\}}
}
||krθ|^qθ}td||fƒ‚n|d=tj|}|S(Nsinvalid revision textRs:key %s did not conform to the expected type %s, but was %ss3Revision text was missing expected keys %s. text %r(
Rtbdecodet
isinstancetlistRt_schemaRt	__class__ttypetlenRt
_mod_revisiontRevision(
RttextR!tschematbitsRRtvar_namet
expected_typet	validatort_tmissingR((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pytread_revision_from_stringjs*	
"cC@s|j|jƒƒS(N(R8tread(RR%((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pyt
read_revisionŒsN(t__name__t
__module__t__doc__tFalsetsquashes_xml_invalid_charactersRtintRtstrRtdecodetfloatR)tdictR
R*R#R&R8R:(((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pyR6s			"t
CHKSerializercB@s’eZdZdZd
ZeZeddddgƒZ	d„Z
d
d
ed„Zd
d
ed„Zd
d	„Z
d
„Zed„Zed„ZRS(s7A CHKInventory based serializer with 'plain' behaviour.t9tfilet	directorytsymlinkstree-referencecC@s||_||_dS(N(tmaximum_sizetsearch_key_name(Rt	node_sizeRK((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pyt__init__˜s	cC@s%tj||jtj||ƒ}|S(sConstruct from XML Element(txml_serializertunpack_inventory_flatt
format_numtunpack_inventory_entry(RteltRtentry_cachetreturn_from_cachetinv((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pyt_unpack_inventoryœs		cC@sUy)|jtj|ƒ|d|d|ƒSWn%tjk
rP}tj|ƒ‚nXdS(sΒRead xml_string into an inventory object.

        :param xml_string: The xml to read.
        :param revision_id: If not-None, the expected revision id of the
            inventory.
        :param entry_cache: An optional cache of InventoryEntry objects. If
            supplied we will look up entries via (file_id, revision_id) which
            should map to a valid InventoryEntry (File/Directory/etc) object.
        :param return_from_cache: Return entries directly from the cache,
            rather than copying them first. This is only safe if the caller
            promises not to mutate the returned inventory entries, but it can
            make some operations significantly faster.
        RSRTN(RVRNt
fromstringt
ParseErrorRtUnexpectedInventoryFormat(Rt
xml_stringRRSRTte((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pytread_inventory_from_string€scC@s^y2z |j|j|ƒddƒSWd|jƒXWn%tjk
rY}tj|ƒ‚nXdS(s*Read an inventory from a file-like object.RN(RVt
_read_elementRtcloseRNRXRRY(RR%RR[((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pytread_inventory»scC@s|j|dƒS(s2Return a list of lines with the encoded inventory.N(twrite_inventoryR(RRU((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pytwrite_inventory_to_linesΖscC@s&tƒ}|j|||ƒ|jƒS(sΓJust call write_inventory with a StringIO and return the value.

        :param working: If True skip history data - text_sha1, text_size,
            reference_revision, symlink_target.
        (RR`tgetvalue(RRUtworkingtsio((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pytwrite_inventory_to_stringΚs	c	C@sθg}|j}|jdk	r9d}tj|jƒ}nd}d}|d|j||fƒ|dtj|jjƒtj|jjƒtj|jj	ƒfƒtj
||ddd|jd|ƒ|dk	rδ|j|ƒn|S(	saWrite inventory to a file.

        :param inv: the inventory to write.
        :param f: the file to write. (May be None if the lines are the desired
            output).
        :param working: If True skip history data - text_sha1, text_size,
            reference_revision, symlink_target.
        :return: The inventory as a list of lines.
        s revision_id="ts<inventory format="%s"%s%s>
s0<directory file_id="%s name="%s revision="%s />
troot_idtsupported_kindsRcN(
RRRRNtencode_and_escapeRPtroottfile_idtnameRtserialize_inventory_flatRht
writelines(RRUR%RctoutputRtrevid1trevid2((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pyR`Τs(
		N(R;R<R=RPRtrevision_format_numR>tsupport_altered_by_hacktsetRhRMRVR\R_RaReR`(((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pyREs		
ishash-255-waytCHKBEncodeSerializercB@seZdZdZRS(sCA CHKInventory and BEncode based serializer with 'plain' behaviour.t10(R;R<R=RP(((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pyRuψsN(R=t
__future__Rt	cStringIORtbzrlibRtglobalsRRRRR.Rt_utf8_decodeR
RtobjectRt
SerializerREtchk_serializer_255_bigpageRutchk_bencode_serializer(((s9/usr/lib/python2.7/dist-packages/bzrlib/chk_serializer.pyt<module>s(		Ze

Copyright © 2017 || Recoded By Mr.Bumblebee