
    	                         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dlmZ  G d	 d
ej                        Zy)zThe meta cache list command.    )absolute_import)division)unicode_literals)base)
cache_util)log)
exceptionsc                   &    e Zd ZdZed        Zd Zy)Listz8List the tables or table contents in a persistent cache.c                 V    t        j                  |        | j                  ddd       y )Ntables*zThe table names or name patterns to list, where `?` matches any character and ```*``` matches any string of zero or more characters. If omitted then a table of all tables is displayed.)nargshelp)r   AddCacheFlagadd_argument)parsers    lib/surface/meta/cache/list.pyArgsz	List.Args   s.    F#
      c                    t        j                  |j                        5 }t        j                  dj                  |j                               |j                  r|j                  D cg c]  }|j                  |      D ]  }|  }}}|s=t        j                  dj                  dj                  |j                                    |j                  d      sd|_        g }|D ]D  }	 |j                  |d      }|j                  |j                  |j                  d      d	       F |cd d d        S |j                  d      sd
|_        |j                         }t#        |      D cg c]  }|j                  |d       c}cd d d        S c c}}w # t        j                  $ r}t        j                   |       Y d }~d }~ww xY wc c}w # 1 sw Y   y xY w)Nzcache name {}zNo tables matched [{}].,formatjsonF)create)ignore_expiration)namedatazVtable[box](name, columns:label=COL, keys:label=KEY, timeout, is_expired:label=EXPIRED))r   r   )r   GetCachecacher   infor   r   r   SelectNoTablesMatchedjoinIsSpecifiedTableappendcache_exceptionsErrorwarningsorted)	selfargsr    patternr   namesresultstablees	            r   RunzList.Run*   s   			TZZ	(E	hh%%ejj12	%)[[ 4['"\\'2T 2 [ 4**+D+K+Khht{{#,% & &)$+DKKUK3ENN

u=   + 
)	(. h'<llne?Ee}M}tekktEk2}M7 
)	(4 "'' KKNN N7 
)	(s\   A
G*F	A!G+AF,G95G.GGGG-GGGGGN)__name__
__module____qualname____doc__staticmethodr   r3    r   r   r   r      s    @ Nr   r   N)r7   
__future__r   r   r   googlecloudsdk.callioper   googlecloudsdk.command_lib.metar   googlecloudsdk.corer   googlecloudsdk.core.cacher	   r(   ListCommandr   r9   r   r   <module>r@      s3     # &  ' ( 6 # D*N4 *Nr   