
    m                         d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlm	Z	 ddlm
Z
 dd	lmZ d
ZdZd Zej                   dd       Zd Zy)z/Utilities for operating on different endpoints.    )absolute_import)division)unicode_literalsN)apis)log)
properties)parsev1mlc                     t        j                  |       \  }}}}}}dj                  ||      }t        j                  ||||||f      S )Nz{}-{})r	   urlparseformat
urlunparse)endpointregionschemenetlocpathparamsqueryfragments           9lib/googlecloudsdk/command_lib/ml_engine/endpoint_util.pyDeriveMLRegionalEndpointr       sK    27..2J/&&$x>>&&)&			664I	JJ    c              #   6  K   t        |       }t        j                  j                  j                  j                         }	 t        j                  j                  dj                  |             | r8| dk7  r3t        j                  j                  j                  j                  |       d t        j                  j                  j                  j                  |      }y# t        j                  j                  j                  j                  |      }w xY ww)zContext manager to override the AI Platform endpoints for a while.

  Args:
    region: str, region of the AI Platform stack.

  Yields:
    None.
  zUsing endpoint [{}]globalN)GetEffectiveMlEndpointr   VALUESapi_endpoint_overridesr   Getr   statusPrintr   Set)r   used_endpointold_endpoints      r   MlEndpointOverridesr&   &   s      )0-""99<<@@B,QJJ*11-@A&H$..1155mD	$$;;>>BB<PL:$$;;>>BB<PLs   >DA,C! -4D!5DDc                 h    t        j                  t        t              }| r| dk7  rt	        ||       S |S )z:Returns regional ML Endpoint, or global if region not set.r   )r   GetEffectiveApiEndpointML_API_NAMEML_API_VERSIONr   )r   r   s     r   r   r   ;   s0    ))+~F(("#Hf55	/r   )N)__doc__
__future__r   r   r   
contextlibgooglecloudsdk.api_lib.utilr   googlecloudsdk.corer   r   six.moves.urllibr	   r*   r)   r   contextmanagerr&   r    r   r   <module>r3      sS    6 &  '  , # * "K Q Q(r   