B
    ó±ô`ó  ã               @   sP   d Z ddlmZmZmZ eZddlZddlm	Z
 ddlmZ G dd	„ d	eƒZdS )
z5Source provider for content which has been installed.é    )Úabsolute_importÚdivisionÚprint_functionNé   )Útypesé   )ÚSourceProviderc               @   s(   e Zd ZdZdZedd„ ƒZdd„ ZdS )ÚInstalledSourcez5Source provider for content which has been installed.r   c             C   s   dS )zBReturn True if the given path is a content root for this provider.F© )Úpathr
   r
   ú_/home/dcms/DCMS/lib/python3.7/site-packages/ansible_test/_internal/provider/source/installed.pyÚis_content_root   s    zInstalledSource.is_content_rootc                sZ   g }d‰ xLt  |¡D ]>\}}}t j ||¡‰ˆdkr8d‰| ‡ ‡fdd„|D ƒ¡ qW |S )z@Return the list of available content paths under the given path.)z.pycz.pyoÚ.Ú c                s.   g | ]&}t j |¡d  ˆ krt j ˆ|¡‘qS )r   )Úosr   ÚsplitextÚjoin)Ú.0Ú	file_name)Úkill_extensionsÚrel_rootr
   r   ú
<listcomp>&   s    z-InstalledSource.get_paths.<locals>.<listcomp>)r   Úwalkr   ÚrelpathÚextend)Úselfr   ÚpathsÚrootZ_dummyZ
file_namesr
   )r   r   r   Ú	get_paths   s    zInstalledSource.get_pathsN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚsequenceÚstaticmethodr   r   r
   r
   r
   r   r	      s   r	   )r"   Ú
__future__r   r   r   ÚtypeÚ__metaclass__r   r   r   Útr   r	   r
   r
   r
   r   Ú<module>   s   