
    ]j                         d dl Z d dlmZ d dlmZ d dlmZ d dlmZ 	 d dlm	Z	 d Z
e j                  d    d	k(  reZneZ eed
e      Zer	 e
e      ZndZd Zd Zd Zy# e$ r	 d dlm
Z
 Y Ew xY w)    N)md5)settings)DEFAULT_CACHE_ALIAS)parsecachesc                     t         |    S )Nr   )backendkwargss     B/root/env/lib/python3.12/site-packages/django_user_agents/utils.py	get_cacher      s    g    )r      USER_AGENTS_CACHEc                     t        | t              r| j                  d      } dj                  dt	        |       j                         g      S )Nutf-8 zdjango_user_agents.)
isinstance	text_typeencodejoinr   	hexdigest)	ua_strings    r   get_cache_keyr   "   s>    )Y'$$W-	77)3y>+C+C+EFGGr   c                 H   t        | d      sy| j                  j                  dd      }t        |t              s|j                  dd      }t        rEt        |      }t        j                  |      }|!t        |      }t        j                  ||       |S t        |      }|S )NMETAr   HTTP_USER_AGENTr   ignore)
hasattrr   getr   r   decodecacher   r   set)requestr   key
user_agents       r   get_user_agentr'   )   s     7F#  !2B7Ii+$$Wh7	I&YYs^
y)JIIc:&  9%
r   c                     t        | d      r| j                  S | st        d      S t        |       | _        | j                  S )Nr&   r   )r   r&   r   r'   )r$   s    r   get_and_set_user_agentr)   ?   s@     w%!!!Ry'0Gr   )syshashlibr   django.confr   django.core.cacher   user_agentsr   r   r   ImportErrorversion_infostrr   unicodegetattrr   r"   r   r'   r)    r   r   <module>r5      s    
    1 ,( A!II H&9;NO '(EEH,
a  ,+,s   	A A-,A-