�
܍~c�0 � � � d dl Z d dlZd dlmZ d dlmZ d dlmZmZ d dlm Z ej
e� � Z G d� dej
� � Zdd�Zdd �Zdd
�Zd� Z G d� d
e� � Zeej ffeej ej ffgZd� ZdS )� N)�dmi)�log)�sources�util)�enic �h � e Zd ZdZd� Zd� Zd� Zd� Zed� � � Z d� Z
d� Zd � Zed
� � � Z
dS )�DataSourceNoCloud�NoCloudc � � t j � | |||� � d | _ t j � |j d� � t j � |j d� � g| _ d | _ d| _ d S )N�nocloudznocloud-net)�/zfile://)
r �
DataSource�__init__�seed�os�path�join�seed_dir� seed_dirs�supported_seed_starts��self�sys_cfg�distro�pathss �E/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceNoCloud.pyr zDataSourceNoCloud.__init__ sp � ���#�#�D�'�6�5�A�A�A��� ��G�L�L����3�3��G�L�L����7�7�
��� ��
�%5��"�"�"� c �j � t j � | � � }|�d| j �d| j �d�S )Nz [seed=z ][dsmode=�])r r �__str__r �dsmode)r �roots r r zDataSourceNoCloud.__str__$ s5 � ��!�)�)�$�/�/��,0�D�D�$�)�)�)�T�[�[�[�I�Ir c � � t j d� � }|� t j d� � � � t j d|� � � z � � }|� t j d|� � � z � � � � |� t j d|z � � � � t t
|� � t
|� � z � � }|� d�� � |S )Nz TYPE=vfatzTYPE=iso9660zLABEL=%szLABEL_FATBOOT=%sT)�reverse)r �find_devs_with�extend�upper�lower�list�set�sort)r �label�fslist�
label_list�devlists r �_get_deviceszDataSourceNoCloud._get_devices( s� � ��$�[�1�1���
�
�d�)�.�9�9�:�:�:��(��e�k�k�m�m�)C�D�D�
����$�-�j�5�;�;�=�=�.H�I�I�J�J�J����$�-�.@�5�.H�I�I�J�J�J��s�6�{�{�S��_�_�4�5�5�����T��"�"�"��r c � � d| j d�}g }i ddd d�} i }t j d� � }|r7t ||� � r'|� d� � t |d|i� � }n+# t $ r t j t d� � Y d S w xY w i }t |� � r'|� d
� � t |d|i� � }n+# t $ r t j t d� � Y d S w xY wddgd
dgd�}| j
D ]f} t j |fi |��}|� |� � t � d|� � t ||� � } n# t $ r Y �cw xY w| j � d� � r+|� d� � | j d |d d< |