Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
contego / home / tvault / .virtenv / lib / python2.7 / site-packages / amqp / serialization.pyc
Size: Mime:
ó
õEYc@@sÌdZddlmZmZddlZddlZddlmZddlmZddl	m
Z
ddlmZm
Z
dd	lmZdd
lmZddlmZmZmZmZmZddlmZmZejdd
krñendZdZ dZ!dZ"de
ed„Z#de$e
e#ed„Z%ed„Z&d„Z'ed„Z(ed„Z)eee*ee+e,eeee-e.e/dd„
Z0de
ed„Z1ie1ej26Z3de4fd„ƒYZ5dS(ueConvert between bytestreams and higher-level AMQP types.

2007-11-05 Barry Pederson <bp@barryp.org>

i(tabsolute_importtunicode_literalsN(tdatetime(tDecimal(tBytesIO(tpacktunpack_fromi(tBasic(tFrameSyntaxError(t	int_typestlong_ttstringtstring_ttitems(tbytes_to_strtstr_to_bytesiu*    Table type {0!r} not handled by amqp.
uCTable type {0!r} for key {1!r} not handled by amqp. [value: {2!r}]
u9    Table type {0!r} not handled by amqp. [value: {1!r}]
cC@sÌ|r|||ƒn||}|d7}|dkry|d||ƒ\}|d7}t||||!ƒ}||7}nI|dkrÈ|d||ƒ\}|d7}t||||!ƒ}||7}nú|dkrö|d||ƒ\}|d7}nÌ|dkr$|d	||ƒ\}|d7}nž|d
krR|d||ƒ\}|d7}np|d
kr€|d||ƒ\}|d7}nB|dkr®|d||ƒ\}|d7}n|dkrÜ|d||ƒ\}|d7}næ|dkr
|d||ƒ\}|d7}n¸|dkr8|d||ƒ\}|d7}nŠ|dkrf|d||ƒ\}|d7}n\|dkr”|d||ƒ\}|d7}n.|dkrû|d||ƒ\}|d7}|d||ƒ\}|d7}t|ƒtd|ƒ}nÇ|dkr¥|d||ƒ\}	|d7}||	}
i}x‰||
kr¡|d||ƒ\}|d7}t||||!ƒ}||7}t||ƒ\||<}q9Wn|dkr|d||ƒ\}
|d7}||
}
g}xß||
krt||ƒ\}}|j|ƒqãWnª|dkrR|d||ƒ\}t|ƒ}|d7}np|d kr|d||ƒ\}|d7}tj|ƒ}n3|d!kr¤d}ntd"j	|t
|ƒƒƒ‚||fS(#NiuSs>Iiuss>BubuBs>buUs>hiuus>HuIs>iuiuLs>qiuls>Qufs>fuds>duDi
uFuAutuTuVu%Unknown value in table: {0!r} ({1!r})(tpstr_tRt
_read_itemtappendtboolRtutcfromtimestamptNoneRtformatttype(tbuftoffsetRtftype_ttftypetslentvaltdtnttlentlimittkeylentkeytalentv((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pyR3s¢ 




















 



	cC@s
d}}g}	|	j}
||ƒ}xØ|D]Ð}|dkr•|s^||||d!ƒ}nd}|d@dk}|dL}|d8}|d7}n]|dkrÍd}}|d||ƒ\}|d7}n%|dkrd}}|d||ƒ\}|d	7}ní|d
kr=d}}|d||ƒ\}|d7}nµ|d
krud}}|d||ƒ\}|d7}n}|dkr­d}}|d||ƒ\}|d7}nE|dkr	d}}|d||ƒ\}
|d7}||||
!jdƒ}||
7}né|dkred}}|d||ƒ\}
|d7}||||
!jdƒ}||
7}n|dkrd}}|d||ƒ\}|d7}||}i}xE||kr|d||ƒ\}|d7}|||||!ƒ}||7}|||ƒ\||<}q­WnÙ|dkr–d}}|d||ƒ\}|d7}||}g}x‘||kr’|||ƒ\}}|j|ƒqaWn\|dkrÝd}}|d||ƒ\}|d7}tj|ƒ}nttj|ƒƒ‚|
|ƒq,W|	|fS(uÂDeserialize amqp format.

    bit = b
    octet = o
    short = B
    long = l
    long long = L
    float = f
    shortstr = s
    longstr = S
    table = F
    array = A
    timestamp = T
    iubiiuos>BuBs>Hiuls>IiuLs>Qufs>fustBuutf-8uSuFuAuT(RtdecodeRRRtILLEGAL_TABLE_TYPER(RRRtordRRRtbitcounttbitstvaluesRtpRRR R!R"R#R$taval((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pytloads›s”
	
























 




cC@s1|r-||dt|ƒ|Œƒg|(ndS(NR&i(tlen(R+twriteR((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pyt
_flushbitsûs
c
C@sCd}g}tƒ}|j}t|ƒ}xÿt|ƒD]ñ\}}||}|dkr²|rednd}|d}	|	dkr‘|jdƒn|dc||	>O<|d7}q7|dkrãt||ƒ}|td|ƒƒq7|dkrt||ƒ}|td	t|ƒƒƒq7|d
krKt||ƒ}|td|ƒƒq7|dkr|t||ƒ}|td
|ƒƒq7|dkr­t||ƒ}|td|ƒƒq7|dkr|pÂd}t||ƒ}t|t	ƒrõ|j
dƒ}n|tdt|ƒƒƒ||ƒq7|dkr‰|p0d}t||ƒ}t|t	ƒrc|j
dƒ}n|tdt|ƒƒƒ||ƒq7|dkr½t||ƒ}t|p°i||ƒq7|dkrñt||ƒ}t
|päg||ƒq7|dkr7|td
ttj|jƒƒƒƒƒq7q7Wt||ƒ|jƒS(uÓ"Serialize AMQP arguments.

    Notes:
        bit = b
        octet = o
        short = B
        long = l
        long long = L
        shortstr = s
        longstr = S
        table = F
        array = A
    iubiiiÿÿÿÿuoR&uBs>Huls>IuLs>Qufs>fusuuutf-8uSuFuAuT(RR1Rt	enumerateRR2Rtintt
isinstanceRtencodeR0t_write_tablet_write_arrayR
tcalendarttimegmtutctimetupletgetvalue(
RR,R*R+toutR1tiRR-tshift((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pytdumpssj		




/
c	C@sïtƒ}|j}x§t|ƒD]™\}}t|tƒrL|jdƒ}n||dt|ƒƒƒ||ƒyt|||ƒWqtk
r·t	t
jt|ƒ||ƒƒ‚qXqW|j
ƒ}||dt|ƒƒƒ||ƒdS(Nuutf-8R&s>I(RR1R
R5RR6R0t_write_itemt
ValueErrorRtILLEGAL_TABLE_TYPE_WITH_KEYRRR<(	RR1R+RR=ttwritetkR%t
table_data((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pyR7Js		

&cC@sœtƒ}|j}xT|D]L}yt|||ƒWqtk
rdttjt|ƒ|ƒƒ‚qXqW|jƒ}||dt	|ƒƒƒ||ƒdS(Ns>I(
RR1RARBRtILLEGAL_TABLE_TYPE_WITH_VALUERRR<R0(tlR1R+RR=tawriteR%t
array_data((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pyR8\s		

#cC@sEt|||fƒr_t||ƒr6|jdƒ}n||ddt|ƒƒƒ||ƒnât||ƒr||ddt|ƒƒƒn´t||ƒrµ||dd|ƒƒnŒt||	ƒr|dksÜ|d	krõ||d
d|ƒƒqA||dd
|ƒƒn3t||
ƒr„|jƒ\}}}d}x|D]}|d|}q?W|rg|}n||dd||ƒƒn½t||ƒrÁ||ddttj|jƒƒƒƒƒn€t||ƒrí|dƒt	|||ƒnTt||
|fƒr|dƒt
|||ƒn"||kr8|dƒn	tƒ‚dS(Nuutf-8s>cItSs>cBtts>cdRiÿÿÿi€s>cqtLs>citIii
s>cBitDs>cQtTtFtAtV(R5R6R0R4tas_tupleR
R9R:R;R7R8RB(R%R1R+RRtbytesRRtfloatR	RRtdicttlistttupletNone_ttsigntdigitstexponentR((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pyRAjs@


.


cC@si}|d||ƒ\}|d7}|d@rv|d||ƒ\}|d7}|||||!ƒ|d<||7}n|d@rÇ|d||ƒ\}|d7}|||||!ƒ|d<||7}n|d	@rùtd
||ƒ\}}|\|d<n|d@r)|d||ƒ\|d
<|d7}n|d@rY|d||ƒ\|d<|d7}n|d@rª|d||ƒ\}|d7}|||||!ƒ|d<||7}n|d@rû|d||ƒ\}|d7}|||||!ƒ|d<||7}n|d@rL|d||ƒ\}|d7}|||||!ƒ|d<||7}n|d@r|d||ƒ\}|d7}|||||!ƒ|d<||7}n|d@rÍ|d||ƒ\|d<|d7}n|d@r|d||ƒ\}|d7}|||||!ƒ|d<||7}n|d@ro|d||ƒ\}|d7}|||||!ƒ|d<||7}n|d@rÀ|d||ƒ\}|d7}|||||!ƒ|d <||7}n|d!@r|d||ƒ\}|d7}|||||!ƒ|d"<||7}n||fS(#uDecode basic properties.s>Hii€s>Biucontent_typei@ucontent_encodingi uFuapplication_headersiu
delivery_modeiupriorityiucorrelation_idiureply_toiu
expirationi€u
message_idi@s>Qu	timestampii utypeiuuser_iduapp_idiu
cluster_id(R/(RRRRt
propertiestflagsRt_f((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pytdecode_properties_basic“s„





































tGenericContentcB@seeZdZd
ZdgZd
d
d„Zd„Zdee	d„Z
d„Zdd„Zd	„Z
RS(udAbstract base class for AMQP content.

    Subclasses should override the PROPERTIES attribute.
    udummyuscK@sC||_||_||_g|_d|_d|_t|_dS(Ni(tframe_methodt
frame_argsR^t_pending_chunkst
body_receivedt	body_sizetFalsetready(tselfRcRdtprops((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pyt__init__ês						cC@sE|dkrtdƒ‚n||jkr5|j|St|ƒ‚dS(Nu__setstate__(tAttributeErrorR^(Rjtname((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pyt__getattr__ôs
icC@s&||||ƒ\}}||_|S(uõLoad AMQP properties.

        Given the raw bytes containing the property-flags and property-list
        from a content-frame-header, parse and insert into a dictionary
        stored in this object as an attribute named 'properties'.
        (R^(Rjtclass_idRRtclassesRRk((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pyt_load_propertiesÿs		cC@sKd}d}g}gg}}|j}|jddƒx§|jD]œ\}}|j|d	ƒ}	|	d	k	rÔ|dkr”|j|ƒd}d}n|d|>O}|dkrÔ|jt|ƒƒ|j|	ƒqÔn|d8}qBW|j|ƒtƒ}
|
j}x!|D]}|t	d|ƒƒqW|t
dj|ƒ|ƒƒ|
jƒS(
uìSerialize AMQP properties.

        Serialize the 'properties' attribute (a dictionary) into
        the raw bytes making up a set of property flags and a
        property list, suitable for putting into a content frame header.
        iiucontent_encodinguutf-8iubits>HtN(
R^t
setdefaultt
PROPERTIEStgetRRRRR1RR@tjoinR<(RjR?t	flag_bitsR_tsformattsvaluesRkR#tproptypeRtresultR1((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pyt_serialize_propertiess2
	
	
		
cC@sQtd||ƒ\}|_|d7}|j|||ƒ|jsMt|_n|S(Ns>HxxQi(RRgRrtTrueRi(RjRRRp((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pytinbound_header0s
	cC@sˆ|j}|jt|ƒ7_|j|jkrw|rb|j|ƒtƒj|ƒ|_g|(n	||_t|_	n
|j|ƒdS(N(
ReRfR0RgRRURwtbodyR~Ri(RjRtchunks((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pytinbound_body8s	

	N(udummyus(t__name__t
__module__t__doc__RtCLASS_IDRuRlRotPROPERTY_CLASSESRRrR}RR‚(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pyRbás	
		$(6R…t
__future__RRR9tsysRtdecimalRtioRtstructRRtspecRt
exceptionsRtfiveR	R
RRR
tutilsRRRtversion_infotchrRRR(RCRGRR)R/R2R@R7R8RURRVRWRXRYRARaR†R‡tobjectRb(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/amqp/serialization.pyt<module>sB(h^	H	%H