
    /_i                     0    d dl mZ d dlmZ  G d d      Zy)    )WebDriverException)command_builderc                   :    e Zd ZdZd ZddefdZdeez  ddfdZy)	WebExtensionz/BiDi implementation of the webExtension module.c                     || _         y N)conn)selfr	   s     j/var/www/html/land_sniper/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.

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

        Returns:
            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)zUninstalls a web extension from the remote end.

        Args:
            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.uninstallA   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      s1    9"$ "HMd
 Mt Mr   r   N)selenium.common.exceptionsr   %selenium.webdriver.common.bidi.commonr   r   r   r   r   <module>r5      s   & : A7M 7Mr   