
    @\hM                     4    d dl mZmZ d dlmZ  G d d      Zy)    )DictUnion)command_builderc                   >    e Zd ZdZd ZddefdZdeeef   ddfdZ	y)	WebExtensionz9
    BiDi implementation of the webExtension module.
    c                     || _         y N)conn)selfr
   s     g/var/www/html/trade_iq/venv/lib/python3.12/site-packages/selenium/webdriver/common/bidi/webextension.py__init__zWebExtension.__init__   s	    	    Nreturnc                     t        d |||fD              dk7  rt        d      |d|d}n|d|d}n|d|d}d	i}| j                  j                  t	        d
|            }|S )a  Installs a web extension in the remote end.

        You must provide exactly one of the parameters.

        Parameters:
        -----------
            path: Path to an extension directory
            archive_path: Path to an extension archive file
            base64_value: Base64 encoded string of the extension archive

        Returns:
        -------
            Dict: A dictionary containing the extension ID.
        c              3   $   K   | ]  }|d u 
 y wr	    ).0xs     r   	<genexpr>z'WebExtension.install.<locals>.<genexpr>.   s     Iq}Is      zCExactly one of path, archive_path, or base64_value must be providedpath)typer   archivePathbase64)r   valueextensionDatazwebExtension.install)sum
ValueErrorr
   executer   )r   r   archive_pathbase64_valueextension_dataparamsresults          r   installzWebExtension.install   s     It\<&HIIQNbcc&,d;N%&3\JN%&.FN!>2""?3I6#RSr   extension_id_or_resultc                     t        |t              r|j                  d      }n|}d|i}| j                  j	                  t        d|             y)a!  Uninstalls a web extension from the remote end.

        Parameters:
        -----------
            extension_id_or_result: Either the extension ID as a string or the result dictionary
                                   from a previous install() call containing the extension ID.
        	extensionzwebExtension.uninstallN)
isinstancedictgetr
   r   r   )r   r&   extension_idr#   s       r   	uninstallzWebExtension.uninstall<   sH     ,d3155kBL1L|,		/*BFKLr   )NNN)
__name__
__module____qualname____doc__r   r   r%   r   strr-   r   r   r   r   r      s7    $ :Mc4i0@ MT Mr   r   N)typingr   r   %selenium.webdriver.common.bidi.commonr   r   r   r   r   <module>r5      s   $  A3M 3Mr   