
                         \    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 Zd Zy	)
zCRM API common error handling.    )absolute_import)division)unicode_literalswraps)
exceptionsc                 .     t                fd       }|S )z'Decorates a function for better errors.c                  x    	  | i |S # t         j                  $ r}t        j                  |d      d }~ww xY wNz{message}{details?
{?}}r   	HttpErrorapi_exceptionsHttpException)argskwargserrorfuncs      4lib/googlecloudsdk/api_lib/resource_manager/error.pyWrapperz!EmitErrorDetails.<locals>.Wrapper   sE    L4"6"" L((0JKKLs    949r   r   r   s   ` r   EmitErrorDetailsr      s$     	;L L 
.    c                 .     t                fd       }|S )zBDecorates a function which produces a generator for better errors.c               ?      K   	  | i |D ]  }|  y # t         j                  $ r}t        j                  |d      d }~ww xY wwr   r   )r   r   ir   r   s       r   r   z"YieldErrorDetails.<locals>.Wrapper*   sQ     LT$V$! % L((0JKKLs$   A AAA  AAr   r   s   ` r   YieldErrorDetailsr   '   s$     	;L L 
.r   N)__doc__
__future__r   r   r   	functoolsr   apitools.base.pyr   googlecloudsdk.api_lib.utilr   r   r    r   r   <module>r#      s&    % &  '  ' D
r   