
                         b    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 d	 Zy
)z"Utilities for components commands.    )absolute_import)division)unicode_literals)
exceptions)update_manager)files)	platformsc                    	 t         j                  j                  | j                        }	 t         j                  j                  | j                        }t         j                  j                  ||      }|s|s|j                  t         j                  j                  k(  rd|j                  t         j                  j                  k(  r=t         j                  j                         rt         j                  j                   |_        | j"                  rt%        j&                  | j"                        nd}| j(                  rt%        j&                  | j(                        nd}d}t+        | d      r| j,                  }t+        | d      r| j.                  }t1        j2                  ||||       S # t         j                  $ r}t        j                  d|      d}~ww xY w# t         j                  $ r}t        j                  d|      d}~ww xY w)zConstruct the UpdateManager to use based on the common args for the group.

  Args:
    group_args: An argparse namespace.

  Returns:
    update_manager.UpdateManager, The UpdateManager to use for the commands.
  zoperating-system-overrideNzarchitecture-overrideTcompile_pythonno_compile_python)sdk_rooturlplatform_filterskip_compile_python)r	   OperatingSystemFromIdoperating_system_overrideInvalidEnumValuer   InvalidArgumentExceptionArchitecturearchitecture_overridePlatformCurrentoperating_systemMACOSXarchitecturex86_64IsActuallyM1ArmArchitecturearmsdk_root_overrider   ExpandHomeDirsnapshot_url_overridehasattrr   r   r   UpdateManager)
group_argsos_overrideearch_overrideplatformrootr   r   s           1lib/googlecloudsdk/command_lib/components/util.pyGetUpdateManagerr,      s   N++22,,.KJ**11((*M
 '']C( 
]!!Y%>%>%E%EE!7!7!>!>>				7	7	9 ) 6 6 : : )) 

j::
;/3  ,, 
		Z==	>26 .Z)*..NZ,-11N		%	%h--
0 0? 
	#	# N

-
-.I1
MMN
 
	#	# J

-
-.Eq
IIJs.   )F* )G *G=GGH	.HH	N)__doc__
__future__r   r   r   googlecloudsdk.callioper   googlecloudsdk.core.updaterr   googlecloudsdk.core.utilr   r	   r,        r+   <module>r4      s$     ) &  ' . 6 * .-0r3   