
    7                        S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSKJ
r
  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  \R(                  \R*                  " \R,                  R.                  \R,                  R0                  5       " S S\R2                  5      5       5       r\R*                  " \R,                  R4                  5       " S S\5      5       r\R                   \l         g)z'Command for listing available reivions.    )absolute_import)division)unicode_literals)base)commands)connection_context)flags)	platforms)pretty_print)resource_args)serverless_operations)concept_parsers)presentation_specs)logc                   N    \ rS rSrSrSSS.r\S 5       r\S 5       rS r	S	 r
S
rg)List"   List available revisions.z"          {description}
          zl          To list all revisions for the provided service:

              $ {command} --service=foo
         )DESCRIPTIONEXAMPLESc           	         [         R                  " S[        R                  " 5       SSSSS9n[        R
                  " U/5      R                  U5        [        R                  " U5        UR                  R                  SR                  [        R                  [        R                  S95        UR                  R!                  U R"                  5        g )Nz--namespacezNamespace to list revisions in.TF)requiredprefixeshiddenztable({ready_column},name:label=REVISION,active.yesno(yes="yes", no=""),service_name:label=SERVICE:sort=1,creation_timestamp.date("%Y-%m-%d %H:%M:%S %Z"):label=DEPLOYED:sort=2:reverse,author:label="DEPLOYED BY"):({alias}))ready_columnalias)r   ResourcePresentationSpecr   GetNamespaceResourceSpecr   ConceptParserAddToParserr	   AddServiceFlagdisplay_info	AddFormatformatr   READY_COLUMNr   SATISFIES_PZS_ALIAS
AddUriFunc_GetResourceUri)clsparsernamespace_presentations      !lib/surface/run/revisions/list.py
CommonArgsList.CommonArgs2   s     0HH..0) !!#9":;GGO 
 
!!	0 17%22.. 17 1
 ""3#6#67    c                 &    U R                  U5        g Nr-   r)   r*   s     r,   Args	List.ArgsQ       NN6r/   c                 .    [        [        S U5      5      $ )a@  Filters out revisions that are worker pool revisions.

Per discussion with jmahood@, we want to make sure that all resources are
self-contained, so none of the describe/list commands should mix the
resource type.

Args:
  revisions: List of revisions to filter.

Returns:
  List of revisions that are service revisions.
c                     U R                   S L $ r1   )worker_pool_name)revs    r,   <lambda>1List._FilterWorkerPoolRevisions.<locals>.<lambda>b   s    3#7#74#?r/   )listfilter)self	revisionss     r,   _FilterWorkerPoolRevisionsList._FilterWorkerPoolRevisionsU   s     ?KLLr/   c           	   #   D  #    SnUR                   n[        R                  " U[        R                  R
                  U R                  5       5      nUR                  R                  R                  5       n[        R                  " U5       nU R                  UR                  5        [        R                  " 5       [        R                   :w  ae  SR#                  UR$                  5      n[&        R(                  R+                  SR#                  UR,                  UR$                  (       a  UOSS95        Ub  SR#                  U5      nU R/                  UR1                  XRUR2                  UR4                  5      5       H  nUv   M	     SSS5        g! , (       d  f       g= f7f)r   Nz in [{}]zFor cluster [{cluster}]{zone}: )clusterzonez serving.knative.dev/service = {})servicer   GetConnectionContextr	   ProductRUNReleaseTrackCONCEPTS	namespaceParser   ConnectSetCompleteApiEndpointendpointr
   GetPlatformPLATFORM_MANAGEDr$   cluster_locationr   statusPrintcluster_namerA   ListRevisionslimit	page_size)	r?   argslabel_selectorservice_nameconn_contextnamespace_refclientlocation_msgr:   s	            r,   RunList.Rund   s?    N<<L%::emm!2!2!4L MM++113M		&	&|	4
!!,"7"78				 I$>$>	>!(()F)FG

,33$11%1%B%B\ 4 	
 
	!;BB<P00


TZZ#
 	 
5	4	4s   BF 	C=F	F 
FF  N)__name__
__module____qualname____firstlineno____doc__detailed_helpclassmethodr-   r4   rA   rb   __static_attributes__rd   r/   r,   r   r   "   sK     "		- 8 8<  Mr/   r   c                   (    \ rS rSrSr\S 5       rSrg)	AlphaList   r   c                 &    U R                  U5        g r1   r2   r3   s     r,   r4   AlphaList.Args   r6   r/   rd   N)re   rf   rg   rh   ri   rk   r4   rl   rd   r/   r,   rn   rn      s    ! r/   rn   N)ri   
__future__r   r   r   googlecloudsdk.callioper   googlecloudsdk.command_lib.runr   r   r	   r
   r   r   r   (googlecloudsdk.command_lib.util.conceptsr   r   googlecloudsdk.corer   UniverseCompatibleReleaseTracksrK   BETAGAr   ALPHArn   rd   r/   r,   <module>r|      s    . &  ' ( 3 = 0 4 7 8 @ D G # D%%**D,=,=,@,@AY8== Y B Yx D%%++,  - LL	 r/   