o
    bht	                     @   s|   d gZ ddlZddlmZ ddlmZ ddlmZmZ ddl	m
Z
mZmZmZmZmZmZ ddlmZmZ G d	d  d ZdS )
Resolver    N)chain)methodcaller)AnyList   )DeviceDomainMatcherMatchersOSPartialResult	UserAgent)IS_GRAALfa_simplifierc                   @   sj   e Zd ZU dZeee  ed< eee  ed< eee	  ed< de
ddfdd	Zd
ededefddZdS )r   zA simple pure-python resolver based around trying a number of
    regular expressions in sequence for each domain, and returning a
    result when one matches.

    user_agent_matchersos_matchersdevice_matchersmatchersreturnNc                 C   s   |\| _ | _| _trFtdd t|D d }|dkr3t|D ]}tjt	|j
j
|j
jd|_
q d S |dkrHt|D ]}t	|j
j
|_q<d S d S d S )Nc                 s   s&    | ]}t t|d rdndV  qdS )regexeagerlazyN)hasattrtype).0m r   [/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/ua_parser/basic.py	<genexpr>'   s
    
z$Resolver.__init__.<locals>.<genexpr>r   )flagsr   )r   r   r   r   nextr   from_iterablerecompiler   patternr    r   )selfr   kindmatcherr   r   r   __init__   s*   

zResolver.__init__uadomainsc                C   s   t d|}t||tj|v rttd t|| jd nd tj|v r+ttd t|| j	d nd tj
|v r?ttd t|| jd dS d dS )N__call__)r+   string
user_agentosdevice)r   r   r	   
USER_AGENTr!   filtermapr   r   r   DEVICEr   )r&   r*   r+   parser   r   r   r,   7   s0   



zResolver.__call__)__name__
__module____qualname____doc__r   r
   r   __annotations__r   r   r   r)   strr	   r   r,   r   r   r   r   r      s   
 
)__all__r#   	itertoolsr   operatorr   typingr   r   corer   r	   r
   r   r   r   r   utilsr   r   r   r   r   r   r   <module>   s    $	