U
    gI                     @   s   d dl mZ d dlmZ d dlT d dlmZ d dlmZmZm	Z	 d dl
mZ d dlZd dlZd dlZd dlZd dlZdd	 Zd
d Zdd Zdd ZdS )    )render)settings)*)Account)datedatetime	timedelta)user_timezoneNc                 C   s"   | dkrt jj| d }|S dS )N   
fb_user_idT)clientTrackerobjectsfilterexists)user_idZtrackerCount r   =/home/richestsoft/Projects/NewRankTracker/api/serp/tracker.pyuserTrackerExist   s    r   c           
   
   C   s   zd }|r| rt jj|d }|r@t jj|d }|r@|j}|d krt|dkrd }| jd}|rx|	dd }n| jd}|r| jd }t  }||_
||_||_d|_|  W n" tk
r }	 zW 5 d }	~	X Y nX d	S )
Nr   r
   ZHTTP_X_FORWARDED_FOR,r   REMOTE_ADDRHTTP_USER_AGENTSTARTT)r   r   r   r   first	client_ipintMETAgetsplitr   client_agentstatussave	Exception)
requestr   ipZtrackerExistsZtrackerDataZclientIpZx_forwarded_forZreqAgentZ
trackerInser   r   r   userTrackerRequest   s2    
r&   c               
   C   s4   ddddddddd	d
g
} t dt| d }| | S )NzNMozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0zLMozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0zEMozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like GeckozuMozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.2 Safari/605.1.15zhMozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36ziMozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36zhMozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36zhMozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36ziMozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36ziMozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36r   r
   )randomrandintlen)ZagentHeadersListZ	listIndexr   r   r   
fetchAgent6   s    r*   c                  C   s  zXt jjdd } | rXt| dr:t jj| jdjdt d ddd	d
d
t	 d}dt
| j d }tj||d}t|dr|jdkr| }|rt jj| jdjd|d |d |d |d |d |d |t d	 t| j|d  W dS nt jj| jdjdt d nt jj| jdjdt d nt jj| jdjdt d W n$ tk
r~ } zW 5 d }~X Y nX dS )Nr   )r    r   )idZBUSY)r    modified_dateztext/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/gif,image/png,image/webp,image/jpeg,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9gzipzen-GB;q=0.9,en;q=0.81)AcceptzAccept-EncodingzAccept-LanguageZDntzUpgrade-Insecure-Requestsz
User-Agentzhttp://ip-api.com/json/z?fields=66842623&lang=en)headersstatus_code   ZDONEtimezoneZcountryCodecountryregioncitymobile)	r    	time_zonecountry_coder4   r5   r6   r7   
other_infor,   TFAILERROR500)r   r   r   r   hasattrr+   updater   nowr*   strr   requestsr   r1   jsonuTZZTimeZoneUpdater   r"   )ZtrackerStartDatar0   URLrespZ	ipResultsr%   r   r   r   automateRequestCallH   s*    
D  "rG   )django.shortcutsr   django.confr   Zserp.modelsaccount.modelsr   r   r   r   serpr	   rD   sysosr'   timerB   r   r&   r*   rG   r   r   r   r   <module>   s    #