HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //snap/core22/2133/usr/lib/python3/dist-packages/cloudinit/__pycache__/importer.cpython-310.pyc
o

x[h�	�	@s�ddlZddlmZddlmZmZddlmZdedefdd�Z		dded	eeede
fd
d�Zdedeefd
d�Z	ddedeedeeede
fdd�ZdS)�N)�
ModuleType)�Optional�Sequence)�util�module_name�returncCs
t�|�S�N)�	importlib�
import_module)r�r�4/usr/lib/python3/dist-packages/cloudinit/importer.pyr
s
r
�attrscCs6d}|s|St�|�}|D]}t||�r|d7}q
|S)Nr�)r	r
�hasattr)rr
�found_attrs�mod�attrrrr�_count_attrss

�r�mod_namecCs�d|��kr|dd�}|�d�sd|��}i}tj�d�}|rD|jrD|jD]
}|�t�|��q&|��D]}|��|��krC|Sq5|S)zECheck the importable datasource modules for a case-insensitive match.znocloud-netN����
DataSourcezcloudinit.sources)	�lower�
startswithr	r�	find_spec�submodule_search_locations�update�get_modules_from_dir�values)r�modules�spec�dir�modulerrr�"match_case_insensitive_module_name#s



�r"�	base_name�search_paths�required_attrscCsj|sg}g}g}|D]&}d�td||g��}|�|�tj�|�s"q
t||�t|�kr0|�|�q
||fS)zFinds specified modules�.N)�join�filter�appendr	rrr�len)r#r$r%�lookup_paths�found_paths�path�	full_pathrrr�find_module7s

�r/r)r	�typesr�typingrr�	cloudinitr�strr
�intrr"�tupler/rrrr�<module>s0
��
�
�
���
��