Yohohohohohooho | Sanrei Aya
Sanrei Aya


Server : LiteSpeed
System : Linux barito.iixcp.rumahweb.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
User : elvh3918 ( 1528)
PHP Version : 8.2.31
Disable Function : mail
Directory :  /opt/cloudlinux/venv/lib64/python3.11/site-packages/wmt/common/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/wmt/common/__pycache__/config.cpython-311.pyc
�

�b4i4�����ddlZddlZddlZddlZddlZddlmZmZmZddl	m
Z
mZddlm
Z
ddlmZddlmZddlmZeGd�d	����Zejd
��ZdZdZGd
�d��ZdS)�N)�	dataclass�asdict�field)�CONFIG_PATH�PING_CONNECTIONS)�WmtConfigException)�get_admin_email)�gethostname)�Listc��eZdZUdZdZeed<dZeed<eZ	eed<dZ
eed<d	Zeed
<e
e���Zeeed<d
Zeed<dZeed<dZeed<dS)�CfgzC
    Default values, in case config has not been specified yet
    ��
ping_interval�
�ping_timeout�ping_connectionsN�report_email��
report_top)�default_factory�ignore_listT�summary_notification_enabledF�alert_notifications_enabled�allow_private_targets)�__name__�
__module__�__qualname__�__doc__r�int�__annotations__rrrr�strrr�listrrr�boolrr����/builddir/build/BUILDROOT/cl-web-monitoring-tool-3.2.4-1.el9.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/wmt/common/config.pyr
r
s�����������M�3�����L�#����,��c�,�,�,��L�#�����J�����"�U�4�8�8�8�K��c��8�8�8�)-� �$�-�-�-�(-���-�-�-�"'��4�'�'�'�'�'r%r
z2\A[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+\Z)rrrr)rrrc��eZdZd�Zd�Zd�Zdefd�Zed���Z	ed���Z
defd	�Zed
���Z
d�Zdefd�Zdefd
�ZdS)�
ConfigManagerc�4�tj���|_dt	����|_t
��|_|���|_	|�
��|_|���|_
dS)Nzweb-monitoring-tool@)r
�__dataclass_fields__�keys�allowed_paramsr
�
from_emailr	�default_report_email�	_init_cfg�cfg�generate_ignored_domains�_ignored_domains�_get_target_email�target_email��selfs r&�__init__zConfigManager.__init__)s{��!�6�;�;�=�=���@����@�@���$3�$5�$5��!��>�>�#�#���!%� =� =� ?� ?��� �2�2�4�4����r%c�@�|jjr|jjn|jS)a
        This function checks to see which email address to use for TO: field of smtp.
        If report_email has been defined by user then report_email will be used.
        By default (in case not defined by user) default_report_email will be used
        )r0rr.r5s r&r3zConfigManager._get_target_email4s!��)-��(=�\�t�x�$�$�4�C\�\r%c�*�t|j��S�N)rr0r5s r&�to_dictzConfigManager.to_dict<s���d�h���r%�returnc��|���st��S|���}t��}|���D]�\}}||jvr-tjd|�dt|j�������;	|�||i��n:#t$r-}tjd|�dt�d|�d���Yd}~��d}~wwxYwt|||����|S)Nzunsupported parameter "z:", please ensure config contains only allowed parameters: zignoring invalid value for "z" in z: z; using default)�
is_presentr
�read�itemsr,�logging�warningr"�_validate_valuesrr�setattr)r6�datar0�key�value�es      r&r/zConfigManager._init_cfg?sM����� � �	��5�5�L��y�y�{�{���e�e���*�*�,�,�	%�	%�J�C���$�-�-�-���M�c�M�M�15�d�6I�1J�1J�M�M�����
��%�%�s�E�l�3�3�3�3��%�
�
�
���%�3�%�%�[�%�%�A�%�%�%�������������
����
�C��e�$�$�$�$��
s�B-�-
C$�7#C�C$c�J�tj�t��Sr:)�os�path�isfilerr$r%r&r>zConfigManager.is_presentbs���w�~�~�k�*�*�*r%c���|���D]�\}}|tvr>t|t��rt|t��rtd|�d�����L|tvr)t|t��std|�d�����~|dkrR|dvr��t|t��std���t�	|��std�����dS)N�"z" must be an integerz " must be a boolean (true/false)r)N�z"report_email" must be a stringz+"report_email" is not a valid email address)
r@�_NUMERIC_FIELDS�
isinstancerr#r�_BOOLEAN_FIELDSr!�	_EMAIL_RE�match)rErFrGs   r&rCzConfigManager._validate_valuesfs6���*�*�,�,�	G�	G�J�C���o�%�%�!�%��-�-�L��E�4�1H�1H�L�,�-J��-J�-J�-J�K�K�K�L���'�'�"�%��.�.�C�,�A�C�A�A�A�C�C�C�C���&�&��J�&�&��!�%��-�-�;�,�9�;�;�;� ���u�-�-�G�,�E�G�G�G��)	G�	Gr%�new_jsonc�0�	tj|��}n3#tj$r!}tt	|�����d}~wwxYwt|������|j��s$tdt|j�������|�
|��i|����|�}|�d��rFt|�d��t��r|d�d��|d<tt d��5}tj||d���ddd��n#1swxYwYt%di|��|_|���S)	z�
        Changes configuration of wmt

        Returns:
            self.to_dict()

        Raises:
            WmtConfigException

        Example:
            wmt-api-solo --config-change {'key': 'val'}
        Nz@some of passed params are unsupported, only allowed parameters: r�,�wr)�indentr$)�json�loads�JSONDecodeErrorrr!�setr+�issubsetr,r"rCr;�getrQ�split�openr�dumpr
r0)r6rU�
new_configrH�config�fs      r&�modifyzConfigManager.modifys���	-���H�-�-�J�J���#�	-�	-�	-�$�S��V�V�,�,�,�����	-�����:�?�?�$�$�%�%�.�.�t�/B�C�C�	^�$�&]�AE�d�FY�AZ�AZ�&]�&]�^�^�
^�	
���j�)�)�)�
��l�l�n�n�
��
��
�:�:�m�$�$�	E��F�J�J�}�4M�4M�s�)S�)S�	E�$*�=�$9�$?�$?��$D�$D�F�=�!��+�s�
#�
#�	+�q��I�f�a��*�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+��=�=��=�=����|�|�~�~�s&��A�A�A�E(�(E,�/E,c���	tt��5}tj|��}ddd��n#1swxYwYn3#tj$r!}tt
|�����d}~wwxYw|Sr:)rarrZ�loadr\rr!)rerErHs   r&r?zConfigManager.read�s���	-��k�"�"�
$�a��y��|�|��
$�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$����
$�
$�
$�
$����#�	-�	-�	-�$�S��V�V�,�,�,�����	-�����s2�A�7�A�;�A�;�A�A3�A.�.A3c�8�|���|_dSr:)r/r0r5s r&�reloadzConfigManager.reload�s���>�>�#�#����r%c��|jD]@}d|vr3|�d��sd|��}tj||��rdS�9||vrdS�AdS)z�
        Check if domain is in ignored list.
        If record contain *" then it will be processed as wildcard. Else as substring
        �*TF)r2�
startswith�fnmatch)r6�domain�patterns   r&�is_domain_ignoredzConfigManager.is_domain_ignored�s~��
�,�		 �		 �G��g�~�~��)�)�#�.�.�,�+�'�m�m�G��?�6�7�3�3� ��4�4� ��f�$�$��4�4�%��ur%c�j�t��}|jjD]}|�|���|S)z�
        Generates ignored domains patterns from self.ignore_list and
        returns it for using as cache in self.ignored_domains set().
        )r]r0r�add)r6�patternsrps   r&r1z&ConfigManager.generate_ignored_domains�s;��
�5�5���x�+�	"�	"�G��L�L��!�!�!�!��r%N)rrrr7r3r;r
r/�staticmethodr>rCr!rfr?rjr#rqr]r1r$r%r&r(r((s������	5�	5�	5�]�]�]� � � �!�3�!�!�!�!�F�+�+��\�+��G�G��\�G�0$�s�$�$�$�$�L����\��$�$�$��4�����"�#������r%r()rArJrnrZ�re�dataclassesrrr�wmt.common.constrr�wmt.common.exceptionsr�clcommon.cpapir	�socketr
�typingrr
�compilerSrPrRr(r$r%r&�<module>r~s>������	�	�	�	���������	�	�	�	�0�0�0�0�0�0�0�0�0�0�:�:�:�:�:�:�:�:�4�4�4�4�4�4�*�*�*�*�*�*��������������(�(�(�(�(�(�(���(�$
�B�J�L�M�M�	�U��j��b�b�b�b�b�b�b�b�b�br%

Yohohohohohooho | Sanrei Aya