
    if                     p    d dl mZmZ d dlmZ  G d d          Z G d d          Z G d d          Zd	S )
    )OptionalUnion)command_builderc                       e Zd ZdZdZdZdZdS )PermissionStatez*Represents the possible permission states.granteddeniedpromptN)__name__
__module____qualname____doc__GRANTEDDENIEDPROMPT     v/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/selenium/webdriver/common/bidi/permissions.pyr   r      s#        44GFFFFr   r   c                   *    e Zd ZdZdefdZdefdZdS )PermissionDescriptorz#Represents a permission descriptor.namec                     || _         d S Nr   )selfr   s     r   __init__zPermissionDescriptor.__init__"       			r   returnc                     d| j         iS )Nr   r   )r   s    r   to_dictzPermissionDescriptor.to_dict%   s    	""r   N)r   r   r   r   strr   dictr    r   r   r   r   r      sP        --S    # # # # # # #r   r   c                   T    e Zd ZdZd Z	 d
deeef         dededee         ddf
d	Z	dS )Permissionsz8
    BiDi implementation of the permissions module.
    c                     || _         d S r   )conn)r   r&   s     r   r   zPermissions.__init__.   r   r   N
descriptorstateoriginuser_contextr   c                    |t           j        t           j        t           j        fvr:t           j         dt           j         dt           j         }t	          d|           t          |t                    rt          |          }n|}|                                ||d}|||d<   | j	        
                    t          d|                     dS )a  Sets a permission state for a given permission descriptor.

        Parameters:
        -----------
            descriptor: The permission name (str) or PermissionDescriptor object.
                       Examples: "geolocation", "camera", "microphone"
            state: The permission state (granted, denied, prompt).
            origin: The origin for which the permission is set.
            user_context: The user context id (optional).

        Raises:
        ------
            ValueError: If the permission state is invalid.
        z, z*Invalid permission state. Must be one of: )r'   r(   r)   NuserContextzpermissions.setPermission)r   r   r   r   
ValueError
isinstancer!   r   r    r&   executer   )r   r'   r(   r)   r*   valid_statespermission_descriptorparamss           r   set_permissionzPermissions.set_permission1   s    * 0/2H/J`aaa-5kk9OkkSbSikkLX,XXYYYj#&& 	/$8$D$D!!$.! 07799
 
 #$0F=!	/*EvNNOOOOOr   r   )
r   r   r   r   r   r   r!   r   r   r3   r   r   r   r$   r$   )   s            '+'P 'P#334'P 'P 	'P
 sm'P 
'P 'P 'P 'P 'P 'Pr   r$   N)typingr   r   %selenium.webdriver.common.bidi.commonr   r   r   r$   r   r   r   <module>r6      s   $ # " " " " " " " A A A A A A       # # # # # # # #/P /P /P /P /P /P /P /P /P /Pr   