HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/pushover.cpython-310.pyc
o

�N�g��@sndZddlZddlZddlmZmZddlZddl	m
Z
e�e�Z
							d
dd�Zd	d
�Zdd�ZdS)zG
Library for interacting with Pushover API

.. versionadded:: 2016.3.0
�N)�	urlencode�urljoin)�__version__�1�POSTcCs0ddd�}ddd�ddd�ddd�d	�}	d
}
t|
|d�}|	�|��d�}t||d
�}
|s/i}d}|dkr7d
}tjjj|
|||||ddddd|d�}|�dd�tjjkrp|	�|��d�}||vrj||dkrjd
|d<||d<|Szd|vr||dkrd
|d<||d<W|Sty�d
|d<||d<Y|Sw)a�
    PushOver object method function to construct and execute on the API URL.

    :param token:       The PushOver api key.
    :param api_version: The PushOver API version to use, defaults to version 1.
    :param function:    The PushOver api function to perform.
    :param method:      The HTTP method, e.g. GET or POST.
    :param data:        The data to be sent for POST method.
    :return:            The json response from the API call or False.
    �T��message�resz
messages.json�status)�request�responsezusers/validate.jsonzsounds.json)r	�
validate_user�validate_soundzhttps://api.pushover.net�/rFZDELETE�json)
�params�data�header_dict�decodeZdecode_type�textrZcookiesZpersist_session�optsNr
rr
r	)	r�get�salt�utils�http�query�client�OK�
ValueError)�function�token�api_version�methodrr�query_paramsr�retZpushover_functionsZapi_urlZbase_url�path�urlr�resultr
�r)�G/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/pushover.pyrsX
��
�
�rcCs�ddd�}t�}||d<tdd|d�}|drid	|vri|�d	d
�}d|vri|�di��dd
�d
kr[|�di��dd
�}||vrMd|�d�|d	<d|d<|Sd|�d�|d	<d|d<|Sd
�|�di��d��|d	<|S)z�
    Send a message to a Pushover user or group.
    :param sound:       The sound that we want to verify
    :param token:       The PushOver token.
    zSound is invalidFrr!rZGET)r r#r$r
r	rr�dict��soundszValid sound �.Tz	Warning: z not a valid sound.�errors)r+rr�join)Zsoundr!r%�
parametersr
�_messager-r)r)r*rZs&
��rcCs�ddd�}t�}||d<||d<|r||d<tddd	d
it|�d�}|dr\d
|vr\|�d
d�}d|vr\|�di��dd�dkrJd|d<d|d
<|Sd|d<d�|�di��d��|d
<|S)z�
    Send a message to a Pushover user or group.
    :param user:        The user or group name, either will work.
    :param device:      The device for the user.
    :param token:       The PushOver token.
    zUser key is invalidF)r	r(�userr!�devicerrzContent-Typez!application/x-www-form-urlencoded)r r#rrr
r	rrr+Nr,Tr(zUser key is valid.r/)r+rrrr0)r3r4r!r
r1r
r2r)r)r*rws.
��r)NrrNNNN)�__doc__�http.clientr�logging�urllib.parserrZsalt.utils.httprZsalt.versionr�	getLogger�__name__�logrrrr)r)r)r*�<module>s"

�I