HOME


Mini Shell 1.0
DIR: /lib/python3/dist-packages/landscape/sysinfo/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/landscape/sysinfo/__pycache__/deployment.cpython-312.pyc
�

�~�e�����dZddlZddlZddlmZddlmZddlmZddlm	Z	ddlm
Z
ddlmZdd	l
mZdd
lmZddlmZddlmZgd
�ZGd�de�Zdd�Zdd�Zdd�Zy)z%Deployment code for the sysinfo tool.�N)�	Formatter)�	getLogger)�RotatingFileHandler)�Deferred)�
maybeDeferred)�
namedClass)�VERSION)�BaseConfiguration)�format_sysinfo)�SysInfoPluginRegistry)�Load�Disk�Memory�Temperature�	Processes�
LoggedInUsers�Networkc���eZdZdZeZdZej�dk7reejjd�fz
ZdZdZ�fd�Z
�fd�Zd	�Zd
�Z�xZS)�SysInfoConfigurationz9Specialized configuration for the Landscape sysinfo tool.)z/etc/landscape/client.confrz~/.landscape/sysinfo.confz/var/lib/landscape/client/�sysinfoc�@��t�|��d|jd<y)N�config)�super�__init__�_command_line_defaults)�self�	__class__s ��>/usr/lib/python3/dist-packages/landscape/sysinfo/deployment.pyrzSysInfoConfiguration.__init__+s���
����04��#�#�H�-�c���t�|��}|jddd��|jddd��|jdtdd	�
�dj	djt��|_|S)
zg
        Specialize L{Configuration.make_parser}, adding any
        sysinfo-specific options.
        z--sysinfo-plugins�PLUGIN_LISTzNComma-delimited list of sysinfo plugins to use. Default is to use all plugins.)�metavar�helpz--exclude-sysinfo-pluginszhComma-delimited list of sysinfo plugins to NOT use. This always take precedence over plugins to include.z--width�Pz(Maximum width for each column of output.)�type�defaultr#zDefault plugins: {}z, )r�make_parser�
add_option�int�format�join�ALL_PLUGINS�epilog)r�parserrs  �rr'z SysInfoConfiguration.make_parser0s����
��$�&������!�2�	�	
�	���'�!�"�	�	
�	������;�		�	
�.�4�4�T�Y�Y�{�5K�L��
��
rc�f�|jd�D�cgc]}|j���c}Scc}w)N�,)�split�strip)r�plugin_spec�xs   r�get_plugin_namesz%SysInfoConfiguration.get_plugin_namesPs'��#.�#4�#4�S�#9�:�a����	�:�:��:s�.c
�R�|j�t}n|j|j�}|j�g}n|j|j�}|D�cgc]	}||vs�|��}}|D�cgc]&}t	d|j��d|������(c}Scc}wcc}w)Nzlandscape.sysinfo.�.)�sysinfo_pluginsr,r5�exclude_sysinfo_pluginsr�lower)r�include�excluder4�plugins�plugin_names      r�get_pluginsz SysInfoConfiguration.get_pluginsSs������'�!�G��+�+�D�,@�,@�A�G��'�'�/��G��+�+�D�,H�,H�I�G�%�:���'�)9�1�:��:�
 '�	
��
�J�$�[�%6�%6�%8�$9��;�-�H�
�
�
�	
��;��
s�	B�'B�1+B$)�__name__�
__module__�__qualname__�__doc__r	�version�default_config_filenames�os�getuid�path�
expanduser�default_data_dir�config_sectionrr'r5r?�
__classcell__)rs@rrrsf���C��G�>���r�y�y�{�a�� ��G�G���:�;�%
�	
� �4���N�5�
�@;�
rrc�~�|�:tj�dk(rd}|Stjjd�}|S)zs
    Work out the correct path to store logs in depending on the effective
    user id of the current process.
    rz/var/log/landscapez~/.landscape)rFrGrHrI)�
landscape_dirs r�get_landscape_log_directoryrOesA��
��
�9�9�;�!��0�M����G�G�.�.�~�>�M��rc�X�t|�}td�}d|_tjj|�stj|�tjj|d�}t|dd��}|j|�|jtd��y)Nzlandscape-sysinfoFzsysinfo.logi��)�maxBytes�backupCountz'%(asctime)s %(levelname)-8s %(message)s)rOr�	propagaterFrH�isdir�mkdirr+r�
addHandler�setFormatterr)rN�logger�log_filename�handlers    r�
setup_loggingr\rs���/�
�>�M�
�*�
+�F��F��
�7�7�=�=��'�
������7�7�<�<�
�}�=�L�!�����G�
���g������#L�M�Nrc��������	�	t���
t	��t���j
|d���j�D]}�j|����fd��	�	�fd����Gt���j��fd���fd�}�j|��j��S����S#t$r"}tjd|���Yd}~��d}~wwxYw)	zQ
    @param reactor: The reactor to (optionally) run the sysinfo plugins in.
    zUnable to setup logging. NT)�!accept_nonexistent_default_configc	���tt�j��j��j	��j
d���y)Nz  )�width�indent)�printr�get_headers�	get_notes�
get_footnotesr`)�resultrrs ��r�show_outputzrun.<locals>.show_output�sA���
���#�#�%��!�!�#��%�%�'��l�l��
�	
rc�B���j�j��S�N)�run�addCallback)rgrs��r�run_sysinfozrun.<locals>.run_sysinfo�s����{�{�}�(�(��5�5rc�8��t��j��Sri)r�
chainDeferred)�donerls��r�<lambda>zrun.<locals>.<lambda>�s���M�+�.�<�<�T�B�rc�@���jd�j�|S)Nr)�	callLater�stop)rf�reactors �r�stop_reactorzrun.<locals>.stop_reactor�s���
���a����.��Mr)
r\�OSError�sys�exitrr�loadr?�addr�callWhenRunning�addBothrj)
�argsrtr�e�pluginrurrorlrgs
 ``   @@@@rrjrj�s����2�����'�)��
!�
#�F��K�K���K�=��$�$�&������F���	
�6����z�����B�	
�	�	
���\�"����
��K��}���K��[�2����,�Q�C�0�1�1��2�s�
B?�?	C*�C%�%C*ri)NN)rCrFrw�loggingrr�logging.handlersr�twisted.internet.deferrr�twisted.python.reflectr�	landscaper	�landscape.lib.configr
�landscape.sysinfo.sysinforrr,rrOr\rj�rr�<module>r�sS��+�	�
���0�+�0�-��2�4�;���E
�,�E
�P
�
O� 3r