o
    va"
                     @   sD   d Z ddlZddlmZ ddlmZ ddlmZ G dd deZdS )zThe stats server manager.    N)GlancesStats)sys_path)loggerc                       s2   e Zd ZdZd	 fdd	Zdd Zdd Z  ZS )
GlancesStatsClientz:This class stores, updates and gives stats for the client.Nc                    s$   t t| j||d || _|| _dS )z"Init the GlancesStatsClient class.)configargsN)superr   __init__r   r   )selfr   r   	__class__ 6/usr/lib/python3/dist-packages/glances/stats_client.pyr	   !   s   
zGlancesStatsClient.__init__c              	   C   sp   d}|D ].}zt || }W n ty   td| Y qw td| |j| jd| j|< qt	t
_dS )z4Set the plugin list according to the Glances server.Zglances_zLCan not import {} plugin. Please upgrade your Glances client/server version.zServer uses {} plugin)r   N)
__import__ImportErrorr   errorformatdebugZPluginr   _pluginsr   syspath)r
   Zinput_pluginsheaderitemZpluginr   r   r   set_plugins+   s   
zGlancesStatsClient.set_pluginsc                 C   s0   |D ]}| j | ||  | j |   qdS )zUpdate all the stats.N)r   Z	set_statsZupdate_views)r
   Zinput_statspr   r   r   update?   s   zGlancesStatsClient.update)NN)__name__
__module____qualname____doc__r	   r   r   __classcell__r   r   r   r   r      s
    
r   )	r   r   Zglances.statsr   Zglances.globalsr   Zglances.loggerr   r   r   r   r   r   <module>   s   