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@sÅdddddddgZddlZdd	lmZdd
lmZddlZddlmZddl	m
Z
dd
lmZddl
mZejeƒZejddeddƒejddeddddddƒejdddddƒgZd„Zdefd„ƒYZdejfd„ƒYZdejfd „ƒYZdddd!„Zejd"d#ƒejd$d%ƒdddd&„ƒƒZdefd'„ƒYZ defd(„ƒYZ!dS()tDriverLoadFailuretInvalidTransportURLt	Transportt
TransportHosttTransportURLt
get_transporttset_transport_defaultsiÿÿÿÿN(tremovals(tcfg(tparse(tdriver(t_LW(t
exceptionst
transport_urltsecretthelpsJA URL representing the messaging driver to use and its full configuration.trpc_backendtdeprecated_for_removaltdeprecated_reasons#Replaced by [DEFAULT]/transport_urltdefaulttrabbitsTThe messaging driver to use, defaults to rabbit. Other drivers include amqp and zmq.tcontrol_exchanget	openstacks€The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option.cCstjtd|ƒdS(s±Set defaults for messaging transport configuration options.

    :param control_exchange: the default exchange under which topics are scoped
    :type control_exchange: str
    RN(Rtset_defaultst_transport_opts(R((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyR?scBs\eZdZd„Zed„Zdddd„Zdd„Zd„Z	d„Z
d„ZRS(	s³A messaging transport.

    This is a mostly opaque handle for an underlying messaging transport
    driver.

    RPCs and Notifications may use separate messaging systems that utilize
    different drivers, access permissions, message delivery, etc. To ensure
    the correct messaging functionality, the corresponding method should be
    used to construct a Transport object from transport configuration
    gleaned from the user's configuration and, optionally, a transport URL.

    The factory method for RPC Transport objects::

        def get_rpc_transport(conf, url=None,
                              allowed_remote_exmods=None)

    If a transport URL is supplied as a parameter, any transport configuration
    contained in it takes precedence. If no transport URL is supplied, but
    there is a transport URL supplied in the user's configuration then that
    URL will take the place of the URL parameter.

    The factory method for Notification Transport objects::

        def get_notification_transport(conf, url=None,
                                       allowed_remote_exmods=None)

    If no transport URL is provided, the URL in the notifications section of
    the config file will be used.  If that URL is also absent, the same
    transport as specified in the user's default section will be used.

    The Transport has a single 'conf' property which is the cfg.ConfigOpts
    instance used to construct the transport object.
    cCs|j|_||_dS(N(tconft_driver(tselfR
((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt__init__mscCs|jjd|ƒdS(Ntrequeue(Rtrequire_features(RR((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt_require_driver_featuresqsc
CsF|jstjd|ƒ‚n|jj|||d|d|d|ƒS(NsA topic is required to sendtwait_for_replyttimeouttretry(ttopicRt
InvalidTargetRtsend(RttargettctxttmessageR R!R"((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt_sendts		cCsA|jstjd|ƒ‚n|jj||||d|ƒdS(NsA topic is required to sendR"(R#RR$Rtsend_notification(RR&R'R(tversionR"((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt_send_notification}s
		cCs=|jo|js'tjd|ƒ‚n|jj|||ƒS(Ns<A server's target must have topic and server names specified(R#tserverRR$Rtlisten(RR&t
batch_sizet
batch_timeout((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt_listen„s
	cCsNx2|D]*\}}|jstjd|ƒ‚qqW|jj||||ƒS(Ns"A target must have topic specified(R#RR$Rtlisten_for_notifications(Rttargets_and_prioritiestpoolR/R0R&tpriority((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt_listen_for_notificationsŒs			cCs|jjƒdS(s5Release all resources associated with this transport.N(Rtcleanup(R((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyR7—sN(t__name__t
__module__t__doc__RtFalseRtNoneR)R,R1R6R7(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyRIs"			cBseZdZd„ZRS(s#Raised if transport URL is invalid.cCs#tt|ƒj|ƒ||_dS(N(tsuperRRturl(RR>tmsg((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyRŸs(R8R9R:R(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyRœscBseZdZd„ZRS(s-Raised if a transport driver can't be loaded.cCs<d||f}tt|ƒj|ƒ||_||_dS(Ns(Failed to load transport driver "%s": %s(R=RRR
tex(RR
R@R?((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyR§s	(R8R9R:R(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyR¤sc
CsË|p	g}|jtƒt|tƒs@tj|||ƒ}ntd|jd|ƒ}y>tjd|j	j
dƒddtd||gd|ƒ}Wn%tk
r½}t
|j	|ƒ‚nXt|jƒS(	Ntdefault_exchangetallowed_remote_exmodssoslo.messaging.driverst+itinvoke_on_loadtinvoke_argstinvoke_kwds(t
register_optsRt
isinstanceRR	tdictRR
t
DriverManagert	transporttsplittTruetRuntimeErrorRR(RR>RBtaliasestkwargstmgrR@((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt_get_transport®s
		
R(s3use get_rpc_transport or get_notification_transportROs,Parameter aliases is deprecated for removal.cCst||||ƒS(sA factory method for Transport objects.

    This method will construct a Transport object from transport configuration
    gleaned from the user's configuration and, optionally, a transport URL.

    If a transport URL is supplied as a parameter, any transport configuration
    contained in it takes precedence. If no transport URL is supplied, but
    there is a transport URL supplied in the user's configuration then that
    URL will take the place of the URL parameter. In both cases, any
    configuration not supplied in the transport URL may be taken from
    individual configuration parameters in the user's configuration.

    An example transport URL might be::

        rabbit://me:passwd@host:5672/virtual_host

    and can either be passed as a string or a TransportURL object.

    :param conf: the user configuration
    :type conf: cfg.ConfigOpts
    :param url: a transport URL, see :py:class:`transport.TransportURL`
    :type url: str or TransportURL
    :param allowed_remote_exmods: a list of modules which a client using this
                                  transport will deserialize remote exceptions
                                  from
    :type allowed_remote_exmods: list
    :param aliases: DEPRECATED: A map of transport alias to transport name
    :type aliases: dict
    (RR(RR>RBRO((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyRÄs#	cBsGeZdZddddd„Zd„Zd„Zd„Zd„ZRS(s)A host element of a parsed transport URL.cCs(||_||_||_||_dS(N(thostnametporttusernametpassword(RRSRTRURV((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyRïs			cCs"t|j|j|j|jfƒS(N(thashRSRTRURV(R((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt__hash__õscCst|ƒt|ƒkS(N(tvars(Rtother((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt__eq__øscCs||kS(N((RRZ((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt__ne__ûscCs†g}xKddddgD]7}t||ƒ}|r|j|t|ƒfƒqqWdjg|D]}d|^qaƒ}d|dS(	NRSRTRURVs, s%s=%ss<TransportHost t>(tgetattrtappendtreprtjoin(Rtattrstatvtitvalues((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt__repr__þs &N(	R8R9R:R<RRXR[R\Rg(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyRës			cBs­eZdZejddƒdddddd„ƒZed„ƒZej	d„ƒZd„Z
d„Zd„Zd	„Z
d
„Zejddƒeddd„ƒƒZRS(
slA parsed transport URL.

    Transport URLs take the form::

      scheme://[user:pass@]host:port[,[userN:passN@]hostN:portN]/virtual_host?query

    where:

    scheme
      Specifies the transport driver to use. Typically this is `rabbit` for the
      RabbitMQ broker. See the documentation for other available transport
      drivers.

    [user:pass@]host:port
      Specifies the network location of the broker. `user` and `pass` are the
      optional username and password used for authentication with the broker.

      `user` and `pass` may contain any of the following ASCII characters:
        * Alphabetic (a-z and A-Z)
        * Numeric (0-9)
        * Special characters: & = $ - _ . + ! * ( )

      `user` may include at most one `@` character for compatibility with some
      implementations of SASL.

      All other characters in `user` and `pass` must be encoded via '%nn'

      You may include multiple different network locations separated by commas.
      The client will connect to any of the available locations and will
      automatically fail over to another should the connection fail.

    virtual_host
      Specifies the "virtual host" within the broker. Support for virtual hosts
      is specific to the message bus used.

    query
      Permits passing driver-specific options which override the corresponding
      values from the configuration file.

    :param conf: a ConfigOpts instance
    :type conf: oslo.config.cfg.ConfigOpts
    :param transport: a transport name for example 'rabbit'
    :type transport: str
    :param virtual_host: a virtual host path for example '/'
    :type virtual_host: str
    :param hosts: a list of TransportHost objects
    :type hosts: list
    :param aliases: DEPRECATED: a map of transport alias to transport name
    :type aliases: dict
    :param query: a dictionary of URL query parameters
    :type query: dict
    ROs,Parameter aliases is deprecated for removal.cCs›||_|jjtƒ||_||_|dkrCg|_n	||_|dkrdi|_n	||_|dkr…i|_n	||_t	|_
dS(N(RRGRt
_transporttvirtual_hostR<thostsROtqueryR;t_deprecation_logged(RRRKRiRjRORk((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyR?s						cCs|jdkr|jj}n	|j}|jj||ƒ}|jr}||kr}tjdi|d6|d6ƒt	|_n|S(Nsdlegacy "rpc_backend" is deprecated, "%(legacy_transport)s" must be replaced by "%(final_transport)s"tlegacy_transporttfinal_transport(
RhR<RRROtgetRltLOGtwarningRM(RRKRn((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyRKVs		cCs
||_dS(N(Rh(Rtvalue((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyRKkscCs"tt|jƒ|j|jfƒS(N(RWttupleRjRKRi(R((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyRXoscCs4|j|jko3|j|jko3|j|jkS(N(RKRiRj(RRZ((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyR[rscCs||kS(N((RRZ((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyR\wscCsƒg}xHdddgD]7}t||ƒ}|r|j|t|ƒfƒqqWdjg|D]}d|^q^ƒ}d|dS(NRKRiRjs, s%s=%ss<TransportURL R](R^R_R`Ra(RRbRcRdReRf((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyRgzs &c	Csg}x|jD]ý}|j}|j}|j}|j}d}|dk	sX|dk	r³|dk	r}|tj|dƒ7}n|dk	r¦|dtj|dƒ7}n|d7}n|rãd|krÖ|d|7}qã||7}n|dk	r|d|7}n|j|ƒqWd|j	dj
|ƒf}|jrO|tj|jƒ7}n|jr{|d	tj
|jd
tƒ7}n|S(Nts:%st@t:s[%s]s:%ds%s://%s/t,t?tdoseq(RjRURVRSRTR<R	tquoteR_RKRaRiRkt	urlencodeRM(	RtnetlocsthostRURVRSRTtnetlocR>((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt__str__ƒs4				

		#c
Cs¶|s|jtƒn|p"|j}|sQ|dkrA||ƒS||d|ƒSt|tjƒsut|dƒ‚ntj	|ƒ}|j
s¥t|jƒdƒ‚n|j
}i}|jrüx<tj
|jƒjƒD]\}}dj|ƒ||<qÖWnd}|jjdƒr-tj|jdƒ}ng}	g}
g}xç|jjdƒD]Ó}|sdqRn|}
d}}}d|krä|jddƒ\}}
d|krÒ|jddƒ\}}tj|ƒ}ntj|ƒ}n|
sód}
n¥|
jd	ƒrq|
jd
ƒ}|dkr,tdƒ‚n|
|}|
d|!}
d}d|kr˜|jddƒd}q˜n'd|
kr˜|
jddƒ\}
}n|d
kr­d}n|dk	rÈt|ƒ}n|dksà|dkrð|
j|
ƒn
|	j|
ƒ|jtd|
d|d|d|ƒƒqRWt|	ƒdkrtt|
ƒdkrttjtdƒi|	d6|
d6ƒn|dkr™|||||d|ƒS|||||||ƒSdS(sParse a URL as defined by :py:class:`TransportURL` and return a
        TransportURL object.

        Assuming a URL takes the form of::

          transport://user:pass@host:port[,userN:passN@hostN:portN]/virtual_host?query

        then parse the URL and return a TransportURL object.

        Netloc is parsed following the sequence bellow:

        * It is first split by ',' in order to support multiple hosts
        * All hosts should be specified with username/password or not
          at the same time. In case of lack of specification, username and
          password will be omitted::

            user:pass@host1:port1,host2:port2

            [
              {"username": "user", "password": "pass", "host": "host1:port1"},
              {"host": "host2:port2"}
            ]

        If the url is not provided conf.transport_url is parsed instead.

        :param conf: a ConfigOpts instance
        :type conf: oslo.config.cfg.ConfigOpts
        :param url: The URL to parse
        :type url: str
        :param aliases: A map of transport alias to transport name
        :type aliases: dict
        :returns: A TransportURL
        ROsWrong URL typesNo scheme specifiedRwt/iRuRvt[t]isInvalid IPv6 URLRtRSRTRURVsºAll hosts must be set with username/password or not at the same time. Hosts with credentials are: %(hosts_with_credentials)s. Hosts without credentials are %(hosts_without_credentials)s.thosts_with_credentialsthosts_without_credentialsRkN(RGRR
R<RHtsixtstring_typesRR	turlparsetschemetgeturlRktparse_qstitemsRatpatht
startswithtunquoteR~RLtrsplittfindt
ValueErrortintR_RtlenRpRqR(tclsRR>RORKRktkeyRfRiRƒR„RjR}RSRURVRTthost_endt	port_text((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyR	­s€&&			%	

	

N(R8R9R:Rt
removed_kwargR<RtpropertyRKtsetterRXR[R\RgRtclassmethodR	(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyRs 5								*	("t__all__tloggingt
debtcollectorRtoslo_configRR…tsix.moves.urllibR	t	stevedoreR
toslo_messaging._i18nRtoslo_messagingRt	getLoggerR8RptStrOptRMRRtobjectRtMessagingExceptionRRR<RRtremoveR˜RRR(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/oslo_messaging/transport.pyt<module>sL		
S
		"