
    ?OOf	                        d dl mZ ddlmZmZ d dlmZ d dlZd dlZe G d d             Z	e G d d	             Z
	 	 	 	 dd
Zy)    )annotations   )event_classT_JSON_DICT)	dataclassNc                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	FileHandlerAcceptz
    The following types are the replica of
    https://crsrc.org/c/chrome/browser/web_applications/proto/web_app_os_integration_state.proto;drc=9910d3be894c8f142c977ba1023f30a656bc13fc;l=67
    str
media_typeztyping.List[str]file_extensionsc                |    t               }| j                  |d<   | j                  D cg c]  }| c}|d<   |S c c}w )N	mediaTypefileExtensions)dictr   r   selfjsonis      l/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v125/pwa.pyto_jsonzFileHandlerAccept.to_json   s>    v OO[-1-A-A!B!!B "Cs   	9c           	     l     | t        |d         |d   D cg c]  }t        |       c}      S c c}w )Nr   r   )r   r   )r
   clsr   r   s      r   	from_jsonzFileHandlerAccept.from_json   s7    4,--12B-CDSVD
 	
Ds   1
N)__name__
__module____qualname____doc____annotations__r   classmethodr        r   r	   r	      s-     O%% 
 
r"   r	   c                  B    e Zd ZU ded<   ded<   ded<   d Zed        Zy)	FileHandlerr
   actionztyping.List[FileHandlerAccept]acceptsdisplay_namec                    t               }| j                  |d<   | j                  D cg c]  }|j                          c}|d<   | j                  |d<   |S c c}w )Nr%   r&   displayName)r   r%   r&   r   r'   r   s      r   r   zFileHandler.to_json/   sN    vX04=1199;=Y"//] >s   Ac           	          | t        |d         |d   D cg c]  }t        j                  |       c}t        |d               S c c}w )Nr%   r&   r)   )r%   r&   r'   )r
   r	   r   r   s      r   r   zFileHandler.from_json6   sI    tH~&=A)_M&003MT-01
 	
Ms   A
N)r   r   r   r   r   r    r   r!   r"   r   r$   r$   '   s,    K++ 
 
r"   r$   c              #     K   t               }| |d<   d|d}|}t        |d         |d   D cg c]  }t        j                  |       c}fS c c}w w)aZ  
    Returns the following OS state for the given manifest id.

    :param manifest_id: The id from the webapp's manifest file, commonly it's the url of the site installing the webapp. See https://web.dev/learn/pwa/web-app-manifest.
    :returns: A tuple with the following items:

        0. **badgeCount** - 
        1. **fileHandlers** - 
    
manifestIdzPWA.getOsAppState)methodparams
badgeCountfileHandlers)r   intr$   r   )manifest_idr.   cmd_dictr   r   s        r   get_os_app_stater4   ?   sg      &F&F<%H >DD+/+?@a		q	!@ @s   -AA	A)r2   r
   returnzWtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[int, typing.List[FileHandler]]])
__future__r   utilr   r   dataclassesr   enumtypingr	   r$   r4   r!   r"   r   <module>r;      s[    # * !  

 
 
2 
 
 
.	^r"   