
    G/j{                     p    d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZm	Z	 d Z
ddZedk(  r e        yy)    N)JSONDecodeError)webpushWebPushExceptionc                  N   t        j                  d      } | j                  ddd       | j                  ddd	       | j                  d
d       | j                  dd       | j                  dd       | j                  dddd       | j                  dddd       | j                  dd       | j                  ddddd       | j                         }|j                  st        d      t        j                  j                  |j                        st        d      	 t        |j                        5 }	 t        j                  |j                               |_        	 d d d        |j                  r3t        |j                        5 }|j                         |_        d d d        |j                   rHt        |j                         5 }	 t        j                  |j                               |_        	 d d d        |j                   j#                  d!d"      |j                   d!<   |j$                  rGt'        |j                   j#                  d!d"            d#kD  rd$|j                   d%<   nd&|j                   d%<   |j(                  ra|j*                  st        d'      t        |j(                        5 }	 t        j                  |j                               |_        	 d d d        |S 	 |S # t        $ r}t        d|      d }~ww xY w# 1 sw Y   xY w# 1 sw Y   txY w# t        $ r}t        d |      d }~ww xY w# 1 sw Y   JxY w# t        $ r}t        d(|       d }~ww xY w# 1 sw Y   |S xY w# t,        $ r }t/        j0                  d)| d*       |d }~ww xY w)+NzWebPush tool)descriptionz--dataz-dz	Data file)helpz--infoz-izSubscription Info JSON filez--headzHeader Info JSON filez--claimszVapid claim filez--keyzVapid private key file pathz--wnsz%Include WNS cache header based on TTLF
store_true)r   defaultactionz--curlz#Don't send, display as curl commandz
--encoding	aes128gcm)r
   z	--verbosez-vzProvide verbose feedbackz#Subscription Info argument missing.zSubscription Info file missing.z-Could not read the subscription info file: {}z'Could not read the header arguments: {}ttl0r   cachezx-wns-cache-policyzno-cachez%No private --key specified for claimsz%Could not read the VAPID claims file zCouldn't read input .)argparseArgumentParseradd_argument
parse_argsinfor   ospathexistsopenjsonloadsreadsub_infor   dataheadgetwnsintclaimskey	Exceptionloggingerror)parserargsreexs        P/var/www/html/maxservice/venv/lib/python3.12/site-packages/pywebpush/__main__.py
get_configr.      s`   $$@F
$[9
$-JK
'>?

);<
&CD
4	  
 2	   k:
'   D99DEE77>>$))$@AA&$))_ 	 $

1668 4	 99dii %AFFH	%99dii YAY $

1668 4DIY  99==4		%88 499==,-129		./2<		./;;88&'NOOdkk" a"&**QVVX"6DK K  KG # &CQ 	 	% % ' Y*+TVWXXYY Y( ' *?sC  K  ,RD23s   'M; <L>(K.')M; L&)M; M(L%:B<M; 6M.8(M!M; .	L7LLLLM; L"M; %	L?.L::L??MMM; 	M+M&&M++M..M83M; 8M; ;	N$NN$c            
      N   	 t               } t        | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                        }t        |       y# t        $ r }t        j                  |        Y d}~yd}~ww xY w)z	Send data)r   vapid_private_keyvapid_claimscurlcontent_encodingverboseheadersN)r.   r   r   r   r$   r#   r2   encodingr4   r   printr%   r&   r'   )r)   resultr,   s      r-   mainr9   W   sz    |MM"hh!]]LLII	
 	f s   A8A; ;	B$BB$__main__)returnN)r   r   r   r&   mathrequestsr   	pywebpushr   r   r.   r9   __name__     r-   <module>rB      s:     	    $ /HV( zF rA   