
    Eoh                      Z    d dl Z d dlmZ d dlmZ dedefdZddededefd	Zdedefd
Z	y)    N)Request)parserequestreturnc                     | j                   j                  d      }|r"|j                  d      d   j                         S | j                  j
                  S )Nzx-forwarded-for,r   )headersgetsplitstripclienthost)r   x_forwarded_fors     O/var/www/html/wine-match-dev/backend/winematch-backend/src/utils/ip_geo_tool.pyget_ipr      sI    oo))*;<O$$S)!,2244>>    iptokenc                     |rdd| ini }d|  d}	 t        j                  ||d      }|j                         S # t        $ r}dt	        |      icY d }~S d }~ww xY w)NAuthorizationzBearer zhttps://ipinfo.io/z/json   )r	   timeouterror)requestsr
   json	Exceptionstr)r   r   r	   urlreses         r   get_ipinfo_datar!      sg    6;'% 12Grd%
(C!ll3;xxz !Q  !s   '; 	AAAAc           	      f   t        | j                  j                  dd            }|j                  j                  |j                  j
                  |j                  j                  |j                  j
                  |j                  j                  |j                  |j                  |j                  dS )Nz
user-agent )os
os_versionbrowserbrowser_versiondevice	is_mobileis_pc	is_tablet)r   r	   r
   r$   familyversion_stringr&   r(   r)   r*   r+   )r   uas     r   get_device_infor/      s{    	w""<4	5Beellee**::$$::44))""\\\\	 	r   )N)
r   fastapir   user_agentsr   r   r   dictr!   r/    r   r   <module>r4      sN      G  ! !C !4 !W  r   