o
    f                     @   s\   d dl Z d dlZd dlZd dlmZmZmZ G dd dejZeej	ej
ffgZdd ZdS )    N)sources
url_helperutilc                       sF   e Zd ZdZ fddZddefddZdefdd	Zd
d Z	  Z
S )DataSourceBigstepBigstepc                    s&   t  ||| i | _d| _d| _d S )N )super__init__metadatavendordata_rawuserdata_raw)selfsys_cfgdistropaths	__class__ E/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceBigstep.pyr	      s   
zDataSourceBigstep.__init__Freturnc                 C   sP   |   }|d u r
dS t|}t|j }|d | _|d | _|d | _	dS )NFr
   r   r   T)
_get_url_from_filer   readurljsonloadscontentsdecoder
   r   r   )r   apply_filterurlresponsedecodedr   r   r   	_get_data   s   



zDataSourceBigstep._get_datac                 C   s   d|    dS )z/Return the subplatform metadata source details.z
metadata ())r   )r   r   r   r   _get_subplatform#   s   z"DataSourceBigstep._get_subplatformc              
   C   s^   t j| jjdddd}zt|}W |S  ty. } z|jtj	kr)W Y d }~d S  d }~ww )Ndataseedbigstepr   )
ospathjoinr   	cloud_dirr   load_text_fileIOErrorerrnoENOENT)r   url_filecontenter   r   r   r   '   s   	z$DataSourceBigstep._get_url_from_file)F)__name__
__module____qualname__dsnamer	   boolr    strr"   r   __classcell__r   r   r   r   r      s    r   c                 C   s   t | tS )N)r   list_from_dependsdatasources)dependsr   r   r   get_datasource_list?   s   r;   )r,   r   r&   	cloudinitr   r   r   
DataSourcer   DEP_FILESYSTEMDEP_NETWORKr9   r;   r   r   r   r   <module>   s   ,