File: //opt/alt/python37/lib/python3.7/site-packages/xray/continuous/__pycache__/mailer.cpython-37.pyc
B
�V�d � @ s� d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZ d dl m
Z
d dlmZ ddl
mZmZ ddlmZ G d d
� d
�ZdS )� N)�ConfigParser�SectionProxy)�EmailMessage)�gethostname)�Optional� )�mail_template_location�mail_scripts_location)�XRayMailerErrorc @ s� e Zd ZdZdd� Zeed�dd��Zeed�dd��Z ed�d d
�Z
ee d�dd�Zee d�d
d�Z
edeed�dd��Zedd�dd�Zedd�dd�Zedd�dd�Zd eedd�dd�ZdS )!�Mailerz0
Class contains X-Ray e-mail send logic
c C s t �d�| _d | _d S )N�mailer)�logging� getLogger�logger�_sender)�self� r �G/opt/alt/python37/lib/python3.7/site-packages/xray/continuous/mailer.py�__init__ s zMailer.__init__)�returnc C s dS )z+
Local mail server address
)� localhostr )r r r r �mail_server s zMailer.mail_serverc C s | j dkr| �� | _ | j S )zG
Retrieve 'From' mail address if it is not already set
N)r �retrieve_mail_sender)r r r r �sender$ s
z
Mailer.senderc C s$ dt � � �}| �� }|dk r |S |S )zC
'From' address (control panel admin or dummy one)
zxray.continuous@N)r �admin_email)r Z
dummy_mailZ
admin_mailr r r r - s zMailer.retrieve_mail_senderc
C s� | � � }|dk r�t� d|� d�}ytj|gdddd�}|j�� S tjk
rv } z| j�d|t |�� W dd}~X Y n> t
ttjfk
r� } z| j�d|t |�� W dd}~X Y nX dS )z<
Try to retrieve control panel admin e-mail
N�/Z_emailT)�capture_output�text�checkz% script failed with: %sz Failed to run script %s with: %s)
�get_control_panelr �
subprocess�run�stdout�strip�CalledProcessErrorr �error�str�OSError�
ValueError�SubprocessError)r �panel�get_email_script�p�er r r r 5 s
zMailer.admin_emailc
C s� yt jddgdddd�j�� S t jtfk
rV } z| j�dt|�� W dd}~X Y n< t t
t jfk
r� } z| j�dt|�� W dd}~X Y nX dS )z(
Get control panel name
Zcldetectz--detect-cp-nameT)r r r zcldetect utility failed with %sNz&Failed to run cldetect utility with %s)r r! r"