Repository URL to install this package:
| 
      
        
        
        Version: 
        
         
          
          3.3.30  ▾
        
         | 
| 
    
    contego
  
    /
        
    home
  
        /
        
    tvault
  
        /
        
    .virtenv
  
        /
        
    lib
  
        /
        
    python2.7
  
        /
        
    site-packages
  
        /
        
    keystoneauth1
  
        /
        
    identity
  
        /
        
    generic
  
        /
        base.pyc
   | 
|---|
ó
µEYc           @   s«   d  d l  Z  d  d l Z d  d l j j j Z d  d l m Z	 d  d l m
 Z
 d  d l m Z d  d l m
 Z
 e	 j e  Z e j e  j  d e
 j f d     Y Z d S(   iÿÿÿÿN(   t   _utils(   t   discover(   t
   exceptions(   t   baset   BaseGenericPluginc        
   B   sÝ   e  Z d  Z d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 e d  Z e j d
 d   Z e	 d    Z
 e	 d    Z e	 d    Z e	 d    Z
 e
 j d    Z
 e	 d    Z e j d	    Z d
   Z d   Z e d  Z RS(   sÑ   An identity plugin that is not version dependent.
    Internally we will construct a version dependent plugin with the resolved
    URL and then proxy all calls from the base plugin to the versioned one.
    c         C   s   t  t |   j d | d |
  | p( | |  _ | p7 | |  _ | |  _ | |  _ | |  _ |	 |  _ |
 |  _	 | |  _
 | |  _ d  |  _
 d  S(   Nt   auth_urlt   reauthenticate(   t   superR   t   __init__t   _project_idt
   _project_namet   _project_domain_idt   _project_domain_namet
   _domain_idt   _domain_namet	   _trust_idt   _default_domain_idt   _default_domain_namet   Nonet   _plugin(   t   selfR   t	   tenant_idt   tenant_namet
   project_idt   project_namet   project_domain_idt   project_domain_namet	   domain_idt   domain_namet   trust_idt   default_domain_idt   default_domain_nameR   (    (    sX   /home/tvault/.virtenv/lib/python2.7/site-packages/keystoneauth1/identity/generic/base.pyR   #   s    
							c         C   s   d S(   sÆ  Create a plugin from the given parameters.
        This function will be called multiple times with the version and url
        of a potential endpoint. If a plugin can be constructed that fits the
        params then it should return it. If not return None and then another
        call will be made with other available URLs.
        :param session: A session object.
        :type session: keystoneauth1.session.Session
        :param tuple version: A tuple of the API version at the URL.
        :param str url: The base URL for this version.
        :param str raw_status: The status that was in the discovery field.
        :returns: A plugin that can match the parameters or None if nothing.
        N(   R   (   R   t   sessiont   versiont   urlt
   raw_status(    (    sX   /home/tvault/.virtenv/lib/python2.7/site-packages/keystoneauth1/identity/generic/base.pyt
   create_plugin?   s    c         C   s"   t  |  j |  j |  j |  j g  S(   s®   Are there domain parameters.
        Domain parameters are v3 only so returns if any are set.
        :returns: True if a domain parameter is set, false otherwise.
        (   t   anyR
   R   R   R   (   R   (    (    sX   /home/tvault/.virtenv/lib/python2.7/site-packages/keystoneauth1/identity/generic/base.pyt   _has_domain_scopeR   s    c         C   s,   i |  j  d 6|  j d 6|  j d 6|  j d 6S(   s4   Return the parameters that are common to v2 plugins.R   R   R   R   (   R   R	   R
   R   (   R   (    (    sX   /home/tvault/.virtenv/lib/python2.7/site-packages/keystoneauth1/identity/generic/base.pyt
   _v2_params]   s    
c         C   sT   i |  j  d 6|  j d 6|  j d 6|  j d 6|  j d 6|  j d 6|  j d 6|  j d 6S(	   s4   Return the parameters that are common to v3 plugins.R   R   R   R   R   R   R   R   (   R   R	   R
   R   R   R
   R   R   (   R   (    (    sX   /home/tvault/.virtenv/lib/python2.7/site-packages/keystoneauth1/identity/generic/base.pyt
   _v3_paramse   s    
c         C   s   |  j  p |  j S(   N(   R   R   (   R   (    (    sX   /home/tvault/.virtenv/lib/python2.7/site-packages/keystoneauth1/identity/generic/base.pyR   q   s    c         C   s
   | |  _  d  S(   N(   R   (   R   t   value(    (    sX   /home/tvault/.virtenv/lib/python2.7/site-packages/keystoneauth1/identity/generic/base.pyR   u   s    c         C   s   |  j  p |  j S(   N(   R   R   (   R   (    (    sX   /home/tvault/.virtenv/lib/python2.7/site-packages/keystoneauth1/identity/generic/base.pyR   y   s    c         C   s
   | |  _  d  S(   N(   R   (   R   R)   (    (    sX   /home/tvault/.virtenv/lib/python2.7/site-packages/keystoneauth1/identity/generic/base.pyR   }   s    c      
   C   sÉ  d  } y |  j | |  j d t } WnÆ t j t j t j f k
 rí t j	 d |  j  t
 j
 |  j  } | j j   } | j
 d  rÀ |  j r¥ t j d   n  |  j | d |  j  } q¬| j
 d  r¬|  j | d |  j  } q¬n¿ X|  j pý |  j } | j d	 t |   } t } xl | D]d }	 |	 d
 }
 t j d |
  r\|  j r\t } q%n  |  j | |
 |	 d d |	 d } | r%Pq%q%W| r¬| r¬t j d   n  | r¶| St j d
   d  S(   Nt
   authenticatedsh   Failed to discover available identity versions when contacting %s. Attempting to parse version from URL.s   /v2.0s.   Cannot use v2 authentication with domain scopei   i    s   /v3i   t   reverseR!   R"   R#   s1   Could not determine a suitable URL for the plugin(   i   i    (   i   i    (   i   (   R   t
   get_discoveryR   t   FalseR   t   DiscoveryFailuret	   HttpErrort   ConnectionErrort   LOGt   warningt   urlparset   patht   lowert
   startswithR&