o
                         @   sd   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	d
 ZdS )z"Utilities for components commands.    )absolute_import)division)unicode_literals)
exceptions)update_manager)files)	platformsc              
   C   s  z	t j| j}W n t jy } ztd|d}~ww z	t j| j}W n t jy9 } ztd|d}~ww t j	
||}|s]|s]|jt jjkr]|jt jjkr]t j	 r]t jj|_| jrft| jnd}| jrqt| jnd}d}t| dr}| j}t| dr| j}tj|||| dS )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	    r)   G/tmp/google-cloud-sdk/lib/googlecloudsdk/command_lib/components/util.pyGetUpdateManager   sN   	



r+   N)__doc__
__future__r   r   r   googlecloudsdk.callioper   googlecloudsdk.core.updaterr   googlecloudsdk.core.utilr   r   r+   r)   r)   r)   r*   <module>   s   