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    
Size: Mime:
ó
čEYc@sAddlZddlZddlZddlZddlZddlmZddlmZddl	Z	ddl
Z
ddlmZddlm
Z
ddl
mZejeƒZe	jrÂdndZddgZd	Zd
ZdZdZd
efd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZ defd„ƒYZ!de"fd„ƒYZ#d„Z$d„Z%de"fd „ƒYZ&d!efd"„ƒYZ'd#„Z(d$„Z)d%e"fd&„ƒYZ*d'Z+d(Z,d)e#fd*„ƒYZ-d+ej.fd,„ƒYZ/dS(-iÿÿÿÿN(t	jsonutils(t	timeutils(t_(t_LE(t_utilst
exceptionstbuiltinss2.0soslo.versionsoslo.messaget_RemotetRPCExceptioncBs eZedƒZdd„ZRS(s*An unknown RPC related exception occurred.cKs||_|sƒy|j|}Wqƒtk
rtjtdƒƒx-|jƒD]\}}tjd||ƒqPW|j}qƒXntt	|ƒj
|ƒdS(Ns1Exception in string format operation, kwargs are:s%s: %s(tkwargstmsg_fmtt	ExceptiontLOGt	exceptionRtitemsterrortsuperRt__init__(tselftmessageR	tnametvalue((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRPs	
N(t__name__t
__module__RR
tNoneR(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRMstTimeoutcBs,eZdZedƒZdddd„ZRS(s§Signifies that a timeout has occurred.

    This exception is raised if the rpc_response_timeout is reached while
    waiting for a response from the remote side.
    seTimeout while waiting on RPC response - topic: "%(topic)s", RPC method: "%(method)s" info: "%(info)s"c	Csk||_||_||_tt|ƒjdd|p?tdƒd|pQtdƒd|pctdƒƒdS(söInitiates Timeout object.

        :param info: Extra info to convey to the user
        :param topic: The topic that the rpc call was sent to
        :param method: The name of the rpc method being
                                called
        tinfos	<unknown>ttopictmethodN(RRRRRRRR(RRRR((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRns			N(RRt__doc__RR
RR(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRdstDuplicateMessageErrorcBseZedƒZRS(s1Found duplicate message(%(msg_id)s). Skipping it.(RRRR
(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR€stInvalidRPCConnectionReusecBseZedƒZRS(s#Invalid reuse of an RPC connection.(RRRR
(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR„stUnsupportedRpcVersioncBseZedƒZRS(sCSpecified RPC version, %(version)s, not supported by this endpoint.(RRRR
(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR ˆstUnsupportedRpcEnvelopeVersioncBseZedƒZRS(sLSpecified RPC envelope version, %(version)s, not supported by this endpoint.(RRRR
(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR!stRpcVersionCapErrorcBseZedƒZRS(s6Specified RPC version cap, %(version_cap)s, is too low(RRRR
(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR"’st
ConnectioncBseZdZd„ZRS(søA connection, returned by rpc.create_connection().

    This class represents a connection to the message bus used for rpc.
    An instance of this class should never be created by users of the rpc API.
    Use rpc.create_connection() instead.
    cCs
tƒ‚dS(sîClose the connection.

        This method must be called when the connection will no longer be used.
        It will ensure that any resources associated with the connection, such
        as a network connection, and cleaned up.
        N(tNotImplementedError(R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pytcloses(RRRR%(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR#–scCsötj|Œ}|d}i}t|dƒr:|j}ntj|jjƒ}tj|jjƒ}|j	t
ƒr§|j	t
ƒr§|tt
ƒ }|tt
ƒ }ni|d6|d6tj|ƒd6|d6|jd6|d6}t
j|ƒ}|S(sfPrepares exception data to be sent over rpc.

    Failure_info should be a sys.exc_info() tuple.

    iR	tclasstmoduleRttbtargs(t	tracebacktformat_exceptionthasattrR	tsixt	text_typet	__class__RRtendswitht_REMOTE_POSTFIXtlenR)Rtdumps(tfailure_infoR(tfailureR	tcls_nametmod_nametdatat	json_data((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pytserialize_remote_exception§s(


csítjtj|ƒƒ}|jdgƒ}|jddƒddj|ƒ‰|jdƒ}|jdƒ}|tkr€t}n|tkr´||kr´tj	||jdƒ|ƒSyot
|ƒtj|}t
||ƒ}t|tƒsûtdƒ‚n||jdgƒ|jd	iƒŽ}Wn3tttfk
rXtj	||jdƒ|ƒSXt|ƒ}‡fd
†}	t|jt|fi|	d6|	d6ƒ}
d
|tf|
_y
|
|_Wn(tk
rèˆf|jd|_nX|S(NR(Rts
R&R'sCan only deserialize ExceptionsR)R	csˆS(N((R(R(sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt<lambda>ìst__str__t__unicode__s%s%si(RtloadsR-R.tgettjoint_EXCEPTIONS_MODULESt_EXCEPTIONS_MODULEtoslo_messagingtRemoteErrort
__import__tsystmodulestgetattrt
issubclassRt	TypeErrortAttributeErrortImportErrorttypeRR1RR/R)(R8tallowed_remote_exmodsR5ttraceRR'tmodtklasstex_typetstr_overridetnew_ex_type((RsS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pytdeserialize_remote_exceptionÌs8#	

+

tCommonRpcContextcBsDeZd„Zd„Zd„Zed„ƒZd„Zd„ZRS(cKs
||_dS(N(tvalues(RR	((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRÿscCs3y|j|SWntk
r.t|ƒ‚nXdS(N(RXtKeyErrorRL(Rtkey((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt__getattr__s
cCstj|jƒS(N(tcopytdeepcopyRX(R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pytto_dictscCs
||S(N((tclsRX((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt	from_dictscCs|j|jƒƒS(N(R`R^(R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR]scCsdS(N((R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pytupdate_stores(	RRRR[R^tclassmethodR`R]Ra(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRWþs				tClientExceptioncBseZdZd„ZRS(sáEncapsulates actual exception expected to be hit by a RPC proxy object.

    Merely instantiating it records the current exception information, which
    will be passed back to the RPC client without exceptional logging.
    cCstjƒ|_dS(N(RGtexc_infot	_exc_info(R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRs(RRRR(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRcscCs!itt6tj|ƒt6}|S(N(t_RPC_ENVELOPE_VERSIONt_VERSION_KEYRR3t_MESSAGE_KEY(traw_msgtmsg((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt
serialize_msg!s
cs„tˆtƒsˆSttf}tt‡fd†|ƒƒsAˆStjtˆtƒsmt	dˆtƒ‚nt
jˆtƒ}|S(Ncs
|ˆkS(N((RZ(Rj(sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR<Gstversion(t
isinstancetdictRgRhtalltmaptutilstversion_is_compatibleRfR!RR?(Rjtbase_envelope_keysRi((RjsS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pytdeserialize_msg*s	
t
DecayingTimercBs)eZdd„Zd„Zdd„ZRS(cCstjd|ƒ|_dS(Ntduration(Rt	StopWatcht_watch(RRv((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRXscCs|jjƒdS(N(Rxtstart(R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRy[scOs||jddƒ}|jjdtƒ}|dkr7|S|dkr_|dk	r_|||Žn|dkro|St||ƒS(Ntmaximumtreturn_nonei(tpopRRxtleftovertTruetmin(Rttimeout_callbackR)R	Rztleft((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pytcheck_return^sN(RRRRRyR‚(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRuWs	tlistentsendtConnectionContextcBsMeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	RS(sThe class that is actually returned to the create_connection() caller.

    This is essentially a wrapper around Connection that supports 'with'.
    It can also return a new Connection, or one from a pool.

    The function will also catch when an instance of this class is to be
    deleted.  With that we can return Connections to the pool on exceptions
    and so forth without making the caller be responsible for catching them.
    If possible the function makes sure to return a connection to the pool.
    cCsad|_||_|tk}|r6|jƒ|_n|j|ƒ|_||_||j_dS(s2Create a new connection, or get one from the pool.N(Rt
connectiontconnection_pooltPURPOSE_SENDR@tcreatetpooled(RR‡tpurposeRŠ((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR‰s			cCs|S(s3When with ConnectionContext() is used, return self.((R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt	__enter__–scCsÔ|jrÐ|jrŸzsy|jjƒWn[tk
rƒtjtdƒƒy|jjƒWntk
rmnX|jj	ƒ|_nXWd|jj
|jƒXn%y|jjƒWntk
rÃnXd|_ndS(s{If the connection came from a pool, clean it up and put it back.
        If it did not come from a pool, close it.
        s%Fail to reset the connection, drop itN(R†RŠtresetRRR
RR%R‡R‰tputR(R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt_donešs$		


cCs|jƒdS(s*End of 'with' statement.  We're done here.N(R(Rtexc_typet	exc_valueR(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt__exit__´scCs|jƒdS(s>Caller is done with this connection.  Make sure we cleaned up.N(R(R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt__del__¸scCs|jƒdS(s$Caller is done with this connection.N(R(R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR%¼scCs&|jrt|j|ƒStƒ‚dS(s1Proxy all other calls to the Connection instance.N(R†RIR(RRZ((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR[Às	(
RRRRRŒRR’R“R%R[(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR…}s
	
					tConfigOptsProxycBsfeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	de
jfd	„ƒYZRS(
s¾Proxy for oslo_config.cfg.ConfigOpts.

    Values from the query part of the transport url (if they are both present
    and valid) override corresponding values from the configuration.
    cCs)||_||_||_|jƒdS(N(t_conft_urlt_groupt_validate_query(Rtconfturltgroup((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRÏs			cCsHxA|jjD]3}|j|j|j|j|j|jƒ|q
WdS(N(R–tquerytGroupAttrProxyR•R—(RR((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR˜Õs
cCsVt|j|ƒ}t||jjƒrR||jkrR|j|j|||jƒS|S(N(RIR•Rmt	GroupAttrR—RR–(RRR((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR[Ûs$cCs
|j|ƒS(N(R[(RR((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt__getitem__áscCs
||jkS(N(R•(RR((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt__contains__äscCs
t|jƒS(N(titerR•(R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt__iter__çscCs
t|jƒS(N(R2R•(R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt__len__êsRcBsMeZdZeƒZd„Zd„Zd„Zd„Zd„Z	d„Z
RS(s?Internal helper proxy for oslo_config.cfg.ConfigOpts.GroupAttr.cCs(||_||_||_||_dS(N(R•t_group_nameR—R–(RR™t
group_nameR›Rš((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRòs			cCsit|j|ƒ}|jjj||jƒ}||jkr@|S|jj||jƒ}|dj	|ƒS(Ntopt(
RIR—R–RœR@t_VOID_MARKERR•t
_get_opt_infoR¤RN(Rtopt_nametopt_value_conft
opt_value_urltopt_info((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR[øscCs
|j|ƒS(N(R[(RR©((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRŸscCs
||jkS(N(R—(RR©((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR scCs
t|jƒS(N(R¡R—(R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR¢	scCs
t|jƒS(N(R2R—(R((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR£s(RRRtobjectR§RR[RŸR R¢R£(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyRís						(
RRRRR˜R[RŸR R¢R£tcollectionstMappingR(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyR”Ès							(0R®R\tloggingRGR*toslo_serializationRt
oslo_utilsRR-RDtoslo_messaging._i18nRRRRqt	getLoggerRRtPY2RCRBRfRgRhR1RRRRRR R!R"R­R#R:RVRWRcRkRtRutPURPOSE_LISTENRˆR…R¯R”(((sS/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/_drivers/common.pyt<module>sJ!	%	2
			-"K