w " d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl m Z d dlmZm Z d dlmZ d dlmZmZ d d lmZ d d lmZ d dlmZ d dlmZ d d lmZ d dlmZmZm Z m!Z!m"Z" d dl#m$Z$ ej% e& Z'd Z( G d dee Z)dS ) N)Path)IAIDTokenError)APIError) EventsAPI)CoreIContactMessageType)MessageType)MessageSink MessageSource)TheSink)IContactThrottle)cPanel)Plesk)HostingPanel) await_forcreate_task_and_log_exceptionsrecurring_checkretry_onScope)DAYc b K t d| | t d d S )Nz[Can't get recommendations for the dashboard due to iaid token error, reason: %s. Attempt %sd seconds)loggerwarningr )eis \/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/plugins/icontact_sender.pyasync_log_on_errorr # s@ NN 3 c c e Zd Zej j Zej Z fdZ d ZdddZde fdZd Z ee ed dde eeedde defd Z ee d Z xZS )IContactSenderc t j |i | g | _ t t j dz | _ d S )Nicontact_generic_notifications)super__init___tasksr r TMPDIR_notification_flag_path)selfargskwargs __class__s r r' zIContactSender.__init__1 sG $)&))) @@ $$$r! c K d S N )r+ loops r create_sinkzIContactSender.create_sink8 s r! Nuserc | K |d S t j ||| sd S | j t j || d {V }|rmt j || t j |t t j | }| j | d {V d S d S )Nr4 )message_typeparamsr5 )r7 timestamp template_args) r may_be_notified_panelnotifyr GENERICrefreshr IContactSentinttime_sinkprocess_message)r+ r7 r8 period_limitr5 r: sent_messages r _send_icontact_messagez%IContactSender._send_icontact_message; s F/ F"k00,4 1 ;$\====&3)dikk**+ L *,,\::::::::::: ; ;r! sinkc K || _ t | _ | j j t j t j fv rt || j g| _ d S d S r0 ) rC r r<