관리-도구
편집 파일: registry.pyc
� ��Yc @@ s� d Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d e f d � � YZ e e e e e e e e g Z d S( s� raven.transport.registry ~~~~~~~~~~~~~~~~~~~~~~~~ :copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details. :license: BSD, see LICENSE for more details. i ( t absolute_import( t EventletHTTPTransport( t DuplicateScheme( t HTTPTransport( t GeventedHTTPTransport( t RequestsHTTPTransport( t ThreadedHTTPTransport( t ThreadedRequestsHTTPTransport( t TwistedHTTPTransport( t TornadoHTTPTransport( t urlparset TransportRegistryc B@ sA e Z d d � Z d � Z d � Z d � Z d � Z d � Z RS( c C@ s= i | _ i | _ | r9 x | D] } | j | � q Wn d S( N( t _schemest _transportst register_transport( t selft transportst transport( ( sI /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyt __init__ s c C@ sc t | d � s# t | j d � r; t d | j j � � n x! | j D] } | j | | � qE Wd S( Nt schemet __iter__s$ Transport %s must have a scheme list( t hasattrR t AttributeErrort __class__t __name__t register_scheme( R R R ( ( sI /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyR ! s #c C@ s9 | | j k r t � � n t j | � | | j | <d S( sA It is possible to inject new schemes at runtime N( R R R R ( R R t cls( ( sI /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyR ( s c C@ s | | j k S( N( R ( R R ( ( sI /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyt supported_scheme3 s c K@ se | j � } | | j k rZ t j | j d � d � } | j | j | | � | j | <n | j | S( Nt ?i ( t geturlR R t splitR R ( R t parsed_urlt optionst full_url( ( sI /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyt get_transport6 s #c C@ s | j | S( N( R ( R R ( ( sI /opt/alt/python27/lib/python2.7/site-packages/raven/transport/registry.pyt get_transport_cls>