
    Vh                    V    d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	  G d	 d
e	      Z
y)IFallback source provider when no other provider matches the content root.    )annotationsN   )TIMEOUT_PATH)to_bytes   )SourceProviderc                  .    e Zd ZdZdZedd       ZddZy)UnversionedSourcer   r   c                     y)zBReturn True if the given path is a content root for this provider.F )paths    b/home/dcms/DCMS/lib/python3.12/site-packages/ansible_test/_internal/provider/source/unversioned.pyis_content_rootz!UnversionedSource.is_content_root   s         c                    g }d}ddd}dt         fi}d}t        j                  |      D ]V  \  }}}	t        j                  j	                  ||      }
|
dk(  rd}
||j                  |
d      z   D ]  }||v s|j                  |        |j                  |
d      }|j                  |	D cg c]J  }t        j                  j                  |      d	   |vr$||vr t        j                  j                  |
|      L c}       |j                  |D cg c]f  }t        j                  j                  t        |            s,t        j                  j                  |
|      t        j                  j                  z   h c}       Y |S c c}w c c}w )
z@Return the list of available content paths under the given path.)z.ideaz.pytest_cache__pycache__zansible.egg-infozansible_base.egg-infozansible_core.egg-info)resultscacheoutput)r   )testtests )z.pycz.pyoz.retry.r   r   )r   oswalkr   relpathgetremoveextendsplitextjoinislinkr   sep)selfr   pathskill_any_dirkill_sub_dirkill_sub_filekill_extensionsroot	dir_names
file_namesrel_rootkill
kill_files	file_namedir_names                  r   	get_pathszUnversionedSource.get_paths   s   

	
 

 ,.774= 	K'D)ZwwtT2H3$|'7'7"'EE +9$$$T*+ '**8R8JLLZ t	!#!1!1)!<Q!??!RW`hrWr '',,x; t u LLYb  JXfhfmfmftftu}  G  vH  gI"'',,x:RWW[[H  J  K!	K$ t Js   *AF
-F
==F
N)r   strreturnbool)r   r4   r5   z	list[str])__name__
__module____qualname____doc__sequencestaticmethodr   r3   r   r   r   r   r      s!    SH 6r   r   )r:   
__future__r   r   	constantsr   encodingr   r   r	   r   r   r   r   <module>r@      s+    O " 	
@ @r   