3 \�me� � @ st d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZm Z d dl mZ d dlm Z eje�ZG dd� d�ZdS ) � N)�Optional)�Distro)�Paths�Runners)�events)� DataSourcec @ s� e Zd Zd!eeeeeee j d�dd�Zedd� �Z d"dd �Zd d� Zd#d d�Zdd� Zedd� �Zdd� Zdd� Zd$dd�Zdd� Zd%dd�Zd&dd�Zd'dd �ZdS )(�CloudN)� datasource�paths�cfg�distro�runners�reporterc C s@ || _ || _|| _|| _|| _|d kr6tjdddd�}|| _d S )Nzunnamed-cloud-reporterF)�name�descriptionZreporting_enabled)r r r �_cfg�_runnersr �ReportEventStackr )�selfr r r r r r � r �/usr/lib/python3.6/cloud.py�__init__ s zCloud.__init__c C s t j| j�S )N)�copy�deepcopyr )r r r r r 6 s z Cloud.cfgFc C s | j j|||||�S )N)r �run)r r Zfunctor�argsZfreqZ clear_on_failr r r r ; s z Cloud.runc C s6 | j j| }tjj|�s2tjdtjj|�|� d S |S )Nz-No template found in %s for template named %s)r Ztemplate_tpl�os�path�isfile�LOGZwarning�dirname)r r �fnr r r �get_template_filename>