ruạṛ
3 ?L�i] � @ sn d dl Z d dlmZmZmZ d dlZd dlZdd� Zd dd�Zdd � Z G d d� dej �Zedkrje� j � dS )� N)�Popen�PIPE�CalledProcessErrorc C s |j | �}|sdS |j� S d S )NF)�search�groups)Zping_output�regex�match� r �>/root/tmp/pip-build-3x0y2zol/agent360/agent360/plugins/ping.py�_get_match_groups s r Tc C s| d}d}y t | j� td�}|j� d }W n tk r< Y nX |r\|dkrV|jd�}q`|}ng }|rp|jd�}ng }||fS )N� )�stdoutr Tz\n� )r �splitr �communicate� Exception)�Command�newlinesZOutput�Error�procZStdoutZStderrr r r �system_command s r c C s� t jjd�st jjd�rpttd| d�d �}y$tjd�}t||�\}}}}|}W n tk rj d}Y nX �n"t jdkr�ttd | d�d �}tjd�}t||�}|dkr�d}n|\}}}}|}n�t jd k�r�d}ybt ddd | gt t d�}|j� \} } | �r0yttj d| �d �}W n tk �r, Y nX nd}W n tk �rL Y nX |dk�r�ytj d| �}|d j� }W n tk �r� Y nX nd}|| d�S )N�linuxZfreebsdzping -W 5 -c 1 Fr z'(\d+.\d+)/(\d+.\d+)/(\d+.\d+)/(\d+.\d+)� �darwinz ping -c 1 �win32�pingz-nz1 )r �stderrzAverage = (\d+)s: + .+ = [0-9]{1,9}ms, .+ = [0-9]{1,9}ms, .+ = (\d+){1,9}ms)�avgping�host���r r r r r )�sys�platform� startswith�strr �re�compiler r r r r �int�findallr �decode)�hostname�responseZmatcherZminpingr Zmaxping�jitter�matchedr �out�errorZ rxresponser r r �collect_ping) sJ r/ c @ s e Zd ZdZ dd� ZdS )�Pluginr c C sF i }|j dd�jd�}g |d<