
    Vh                    d    d Z ddlmZ ddlmZmZ ddlmZmZm	Z	 ddl
mZmZmZ ddZddZdd	Zy
)z'Helper functions for composite parsers.    )annotations   )CONTROLLER_PYTHON_VERSIONSSUPPORTED_PYTHON_VERSIONS)docker_completionremote_completionfilter_completion)DockerConfig
HostConfigPosixRemoteConfigc                    t        t                     j                  |       }|rt        nt        }|s|rg S t        |      S |j                  D cg c]	  }||v s| }}|S c c}w )zXReturn a list of docker instance Python versions supported by the specified host config.)r	   r   getr   r   listsupported_pythons)name
controllerstrictimage_configavailable_pythonspythonr   s          Z/home/dcms/DCMS/lib/python3.12/site-packages/ansible_test/_internal/cli/parsers/helpers.pyget_docker_pythonsr      sl    $%6%89==dCL6@2F_r8&7!88.:.L.LlFPVZkPkll m   	A"A"c                    t        t                     j                  |       }|rt        nt        }|s|rg S t        |      S |j                  D cg c]	  }||v s| }}|S c c}w )zXReturn a list of remote instance Python versions supported by the specified host config.)r	   r   r   r   r   r   r   )r   r   r   platform_configr   r   r   s          r   get_remote_pythonsr   #   sl    '(9(;<@@FO6@2F_r8&7!88.=.O.OoFSY]nSnoo pr   c                    t        | t              rt        | j                  d|      }|S t        | t              rt        | j                  d|      }|S t        t              }|S )zSReturn a list of controller Python versions supported by the specified host config.F)
isinstancer
   r   r   r   r   r   r   )controller_configr   pythonss      r   get_controller_pythonsr!   0   se    #\2$%6%;%;UFK N 
%'8	9$%6%;%;UFK N 01N    N)r   strr   boolr   r$   return	list[str])r   r   r   r$   r%   r&   )__doc__
__future__r   	constantsr   r   
completionr   r   r	   host_configsr
   r   r   r   r   r!    r"   r   <module>r-      s3    - "
  

	r"   