
    lKjO                     J    d Z ddlZddlmZ ddlmZmZmZmZ  G d de      Z	y)4Extension manager without installation capabilities.    N)
translator   )ActionResultExtensionManagerExtensionManagerMetadataExtensionPackagec                       e Zd ZdZedefd       Zdededz  fdZdede	d	e	de
eeef   e	dz  f   fd
Zddededz  defdZdedefdZddededz  defdZy)ReadOnlyExtensionManagerr   returnc                 8    t        dt        j                        S )zExtension manager metadata.z	read-only)install_path)r   sysprefix)selfs    o/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/jupyterlab/extensions/readonly.pymetadataz!ReadOnlyExtensionManager.metadata   s     (#**MM    pkgNc                    K   yw)zReturn the latest available version for a given extension.

        Args:
            pkg: The extension to search for
        Returns:
            The latest available version
        N )r   r   s     r   get_latest_versionz+ReadOnlyExtensionManager.get_latest_version   s         querypageper_pagec                    K   i dfS w)ab  List the available extensions.

        Args:
            query: The search extension query
            page: The result page
            per_page: The number of results per page
        Returns:
            The available extensions in a mapping {name: metadata}
            The results last page; None if the manager does not support pagination
        Nr   )r   r   r   r   s       r   list_packagesz&ReadOnlyExtensionManager.list_packages   s      4xs   	extensionversionc                 l   K   t        j                  d      }t        d|j                  d            S w)a  Install the required extension.

        Note:
            If the user must be notified with a message (like asking to restart the
            server), the result should be
            {"status": "warning", "message": "<explanation for the user>"}

        Args:
            extension: The extension name
            version: The version to install; default None (i.e. the latest possible)
        Returns:
            The action result
        
jupyterlaberrorz%Extension installation not supported.statusmessager   loadr   gettext)r   r   r    transs       r   installz ReadOnlyExtensionManager.install.   s2      -EMM2Y$Z
 	
   24c                 l   K   t        j                  d      }t        d|j                  d            S w)aj  Uninstall the required extension.

        Note:
            If the user must be notified with a message (like asking to restart the
            server), the result should be
            {"status": "warning", "message": "<explanation for the user>"}

        Args:
            extension: The extension name
        Returns:
            The action result
        r"   r#   z Extension removal not supported.r$   r'   )r   r   r*   s      r   	uninstallz"ReadOnlyExtensionManager.uninstallA   s2      -EMM2T$U
 	
r,   namec                    K   yw)NFr   )r   r/   r    s      r   is_install_allowedz+ReadOnlyExtensionManager.is_install_allowedS   s	     r   )N)__name__
__module____qualname____doc__propertyr   r   strr   inttupledictr	   r   r   r+   r.   boolr1   r   r   r   r   r      s    >N2 N NC C$J  #/2	tC))*C$J6	7
s 
S4Z 
< 
&
 
 
$S 3: QU r   r   )
r5   r   #jupyterlab_server.translation_utilsr   managerr   r   r   r	   r   r   r   r   <module>r>      s%    :
  : _ _G/ Gr   