
    +                     x    S r SSKJr  SSKJr  SSKJr  SSKr\R                  " S/ SQ5      rSr " S	 S
\	5      r
g)ICommon code for 'gcloud firebase test * list-device-capacities' commands.    )absolute_import)division)unicode_literalsNCapacityEntrymodelnameversioncapacityz
        table[box](
          model:label=MODEL_ID,
          name:label=MODEL_NAME,
          version:label=OS_VERSION_ID,
          capacity.color(red=None,yellow=Low,green=High):label=DEVICE_CAPACITY
        )
    c                   2    \ rS rSrSrSr\S 5       rS rSr	g)DeviceCapacities%   r   Nc                    U R                   c  U R                  S   R                  R                  nU R                  S   R                  R                  nUR
                  SUR                  SUR                  SUR                  SUR                  SUR
                  SUR                  SUR                  SUR                  SUR                  S0
U l         U R                   $ )z'A map of enum to user-friendly message.testing_messagesNoneHighMediumLow)
_capacity_messages_cachecontextPerAndroidVersionInfoDeviceCapacityValueValuesEnumPerIosVersionInfoDEVICE_CAPACITY_UNSPECIFIEDDEVICE_CAPACITY_HIGHDEVICE_CAPACITY_MEDIUMDEVICE_CAPACITY_LOWDEVICE_CAPACITY_NONE)selfdevice_capacity_enum_androiddevice_capacity_enum_ioss      =lib/googlecloudsdk/api_lib/firebase/test/device_capacities.pycapacity_messages"DeviceCapacities.capacity_messages*   s     $$,%)\\
&334Q4Q # "&
"//0M0M  '
B
BF
&
;
;V
&
=
=x
&
:
:E
&
;
;V
"
>
>
"
7
7
"
9
98
"
6
6
"
7
7'd# (((    c                 L   / nUR                    H  nUR                   H~  nUR                  UR                  ;  a  M  UR                  c  M.  UR                  [        UR                  UR                  UR                  U R                  UR                     S95        M     M     U$ )a3  Generate a list of devices/OS versions & corresponding capacity info.

Args:
  catalog: Android or iOS catalog

Returns:
  The list of device models, versions, and capacity info we want to have
  printed later. Obsolete (unsupported) devices, versions, and entries
  missing capacity info are filtered out.
r   )
modelsperVersionInfo	versionIdsupportedVersionIdsdeviceCapacityappendr   idr
   r$   )r    catalogcapacity_datar	   version_infos        r#   get_capacity_data"DeviceCapacities.get_capacity_dataD   s     M..,!!)B)BB
&&.
hhZZ$..//0K0KL	N	O /   r&   )r   )
__name__
__module____qualname____firstlineno____doc__r   propertyr$   r2   __static_attributes__ r&   r#   r   r   %   s"    Q!) )2r&   r   )r8   
__future__r   r   r   collections
namedtupler   DEVICE_CAPACITY_TABLE_FORMATobjectr   r;   r&   r#   <module>rA      sA     P &  ' &&'OQ  9v 9r&   