
    Hoh                     R    d gZ ddlmZ ddlZddlmZmZmZmZm	Z	m
Z
  G d d       Zy)Resolver    )
attrgetterN   )DeviceDomainMatchersOSPartialResult	UserAgentc                       e Zd ZU ej                  ed<   ej                  ed<   ej                  ed<   deddfdZ	de
dedefd	Zy)
r   uaosdematchersreturnNc                 :   |\  }}}t        j                  t        t        dddddd      |            | _        t        j
                  t        t        dddddd      |            | _        t        j                  t        t        ddddd	      |            | _        y )
Nregexfamilymajorminorpatchpatch_minor
regex_flagbrandmodel)	ua_parser_rsUserAgentExtractormapr   r   OSExtractorr   DeviceExtractorr   )selfr   r   r   r   s        k/var/www/html/wine-match-dev/backend/winematch-backend/venv/lib/python3.12/site-packages/ua_parser/regex.py__init__zResolver.__init__   s    
B117HgwW
 **7HgwW
 ..7L(GWM
    domainsc                   d x}x}}t         j                  |v r^| j                  j                  |      x}rAt	        |j
                  |j                  |j                  |j                  |j                        }t         j                  |v r^| j                  j                  |      x}rAt        |j
                  |j                  |j                  |j                  |j                        }t         j                  |v rH| j                  j                  |      x}r+t        |j
                  |j                  |j                         }t#        |||||      S )N)r%   string
user_agentr   device)r   
USER_AGENTr   extractr   r   r   r   r   r   r	   r   DEVICEr   r   r   r   r
   )r!   r   r%   r(   r   r)   ms          r"   __call__zResolver.__call__+   s   #''
'R&'GGOOB''q'&HHGGGGGGMM
 99GGOOB''q'HHGGGGGGMM ==G#GGOOB''q'HHGGGG
 !
 	
r$   )__name__
__module____qualname__r   r   __annotations__r   r    r   r#   strr   r
   r.    r$   r"   r   r      sS    '''   $$$
 
d 
*!
3 !
 !
} !
r$   )__all__operatorr   r   corer   r   r   r	   r
   r   r   r4   r$   r"   <module>r8      s&   ,   ;
 ;
r$   