Sindbad~EG File Manager
3
�uGh] � @ 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-gzoz1_uw/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<