a
    7f                     @   sV   d dl Z d dlZd dlmZ d dlZd dlmZ e dZdd Z	dd Z
d	d
 ZdS )    N)settings)Web3djangoc              
   K   s   |d rd S |d r~d|d v r~z8ddl m} |jj|d jd d}|d |_|  W n$ ty| } zW Y d }~n
d }~0 0 d S )Ncreatedupdate_fieldswalletAddressr   )Ticketinstance)	lastOwnerrefUser)backoffice.modelsr   objectsgetr   r   save	Exception)senderkwargsr   Z	theTicketerror r   /Users/christophesurbier/Dropbox/Mon Mac (MacBook-Air-de-christophe.local)/Documents/Programmation/SellTix/tixsellbackend/backoffice/signals.pysignal_updateuser   s    
r   c                 K   sT  |d rd S z|d }|j dkr|jdkr|jrd}tjddd|jigd	}d
tjd
d}tj|||d}|jdkrt	
d|j  t	
|j d|_|  zBddlm} |jj|ddd}| rddlm}	 tttj}
|
|j}|
jj||	d}|j  }|D ]}t	
d|j  |D ]}|d }|d }|d }|
 |d}t	
d||||jt!|j"# |j$f  ||jkr4|t!|j"# kr4t!|t!|j$kr4t	
d |d |_%d|_ |   qq4qW n0 t&y } zt	
| W Y d }~n
d }~0 0 W n0 t&yN } zt	
| W Y d }~n
d }~0 0 d S )Nr   r	      Fz0https://dashboard.alchemy.com/api/create-webhookZNFT_ACTIVITYz!https://api.selltix.live/webhook/Zcontract_address)networkZwebhook_typeZwebhook_urlZnft_filterszapplication/json)acceptzX-Alchemy-Tokenzcontent-type)jsonheaders   z===On set webhook pour event %sTr   )
TicketType)refEventstatusticketTypeIdTICKET_TYPE_ABIaddressabi`==== On doit aller chercher info ticketTypeId sur la blockchain pour event ticketTypeContract %s         etherCompare %s %d %d avec %s %s %s===On a trouve ticket)'r    
webHookSetticketContractr   NETWORKAlchemyTokenWebHookrequestspoststatus_codeloggerinfonametextr   r   r   r   filterexiststixsell.settingsr#   r   HTTPProviderCONTRACT_NODE_URLto_checksum_addressticketTypeContractethcontract	functionsfetchTicketsTypecallidfrom_weiintbookingStartDate	timestampticketPricer!   r   )r   r   ZtheEventurlpayloadr   responser   ZticketsTypeQueryr#   w3checkedTicketTypeAddressrA   ticketTypestheTicketTypeaTicketTyper7   price	startDate
finalPriceer   r   r   signal_modifEvent   s^     


(4

$rW   c                 K   sh  |d rd S z$|d }|j dkr0|jdkr0td|jj  ddlm} tt	t
j}||jj}|jj||d}|j  }|D ]}|d	 }	|d
 }
|d }||
d}td|	||
|jt|j |jf  |	|jkr|t|j krt|t|jkrtd |d |_|   q0qW n0 tyb } zt| W Y d }~n
d }~0 0 d S )Nr   r	   r   r   r'   r   r"   r$   r(   r)   r*   r+   r,   r-   )r    r!   r5   r6   r   r?   r;   r#   r   r<   r   r=   r>   r@   rA   rB   rC   rD   rF   r7   rG   rH   rI   rJ   r   r   )r   r   rQ   r#   rN   rO   rA   rP   rR   r7   rS   rT   rU   rV   r   r   r   signal_publishTicketTypeS   s0    (.

rX   )loggingostixsellr   r2   Zweb3r   	getLoggerr5   r   rW   rX   r   r   r   r   <module>   s   
<