
    ,i                     <    d dl mZ d dlmZ d dlmZ  G d d      Zy)    )Union)WebDriverException)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     z/var/www/system.tvplus.app.br/jogos/scrap/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 # t
        $ r+}dt        |      v rt        t        |       d      | d}~ww xY w)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 providedNpath)typer   archivePathbase64)r   valueextensionDatazwebExtension.installzMethod not availablez. If you are using Chrome or Edge, add '--enable-unsafe-extension-debugging' and '--remote-debugging-pipe' arguments or set options.enable_webextensions = True)sum
ValueErrorr
   executer   r   str)r   r   archive_pathbase64_valueextension_dataparamsresultes           r   installzWebExtension.install    s     It\<&HIIQNbcc&,d;N%&3\JN%&.FN!>2		YY&&7Mv'VWFM! 	%Q/(1vh i i  	s    &A' '	B0&BB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.uninstallF   sH     ,d3155kBL1L|,		/*BFKLr   )NNN)
__name__
__module____qualname____doc__r   r,   r'   r   r    r/   r   r   r   r   r      s8    $$ $LMc4i0@ MT Mr   r   N)typingr   selenium.common.exceptionsr   %selenium.webdriver.common.bidi.commonr   r   r   r   r   <module>r7      s   $  9 A<M <Mr   