
                         ~    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dZd Zd Zy)z.Utilities for the container analysis commands.    )absolute_import)division)unicode_literalsN)
list_pager)apis)	resources)range   c           
         t        j                  dd      }t        j                  dd      }|}|rdj                  ||      }t        j
                  j                  | d      }|sCt        j                  |j                  |j                  |j                         |      dd	d
      S g }t        dt        |      t              D ]  }	||	|	t        z    }
|ddj                  |
D cg c]  }d|z  	 c}      d}|j!                  t        j                  |j                  |j                  |j                         |      dd	d
              t#        j$                  | S c c}w )z1Helper function to make Fetch Occurrence Request.containeranalysisv1alpha1z)({occurrence_filter}) AND ({base_filter}))occurrence_filterbase_filterzcloudresourcemanager.projects)
collection)parentfilteroccurrencesi  pageSize)requestfield
batch_sizebatch_size_attributer   z AND (z OR zresource_url="%s"))r   GetClientInstanceGetMessagesModuleformatr   REGISTRYParser   YieldFromListprojects_occurrences/ContaineranalysisProjectsOccurrencesListRequestRelativeNamer	   len _MAXIMUM_RESOURCE_URL_CHUNK_SIZEjoinappend	itertoolschain)
project_idresource_filterr   resource_urlsclientmessagesr   project_refoccurrence_generatorsindexchunkurl
url_filters                4lib/googlecloudsdk/api_lib/containeranalysis/util.pyMakeOccurrenceRequestr5   "   s    !!"5zB&##$7D(+3::/# 	; 	%  ""((< ) >+ 
 ####HH++-k I C') ) QM*,LMe%5+K#KME%@%3(3.%@ACJ     ''LL"//1* M F!+	-. N 
/	00 As   'E#c                     	 t         j                  j                  | d      S # t         j                  $ r' t         j                  j	                  | d|id      cY S w xY w)Nz!containeranalysis.providers.notesprovidersId)paramsr   )r   r   ParseRelativeNameInvalidResourceExceptionr   )	note_namedefault_projects     r4   _GetNoteRefr=   R   sg    8//68 8		+	+ 8##/6 $ 8 88s   " 7AAc                     t        j                  dd      }t        j                  dd      }t        | |      }|j	                  |j                               }|j                  j                  |      S )Nr   r   )name)r   r   r   r=   )ContaineranalysisProvidersNotesGetRequestr"   providers_notesGet)r;   r<   r,   r-   note_refr   s         r4   MakeGetNoteRequestrD   ^   sn    !!"5zB&##$7D(O4(>>  " ? ' 
			#	#G	,,    )NN)__doc__
__future__r   r   r   r'   apitools.base.pyr   googlecloudsdk.api_lib.utilr   googlecloudsdk.corer   	six.movesr	   r$   r5   r=   rD    rE   r4   <module>rM      sA    5 &  '  ' , ) 
 $%   HL-1`	8-rE   