
    Mh                     ^    d Z ddlZddlmZ ddlmZ ddlmZmZm	Z	m
Z
  G d de          ZdS )	4Extension manager without installation capabilities.    N)Optional)
translator   )ActionResultExtensionManagerExtensionManagerMetadataExtensionPackagec                       e Zd ZdZedefd            Zdedee         fdZ	dede
de
deeeef         ee
         f         fd	Zddedee         defdZdedefdZd
S )ReadOnlyExtensionManagerr   returnc                 8    t          dt          j                  S )zExtension manager metadata.z	read-only)install_path)r	   sysprefix)selfs    ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jupyterlab/extensions/readonly.pymetadataz!ReadOnlyExtensionManager.metadata   s     (#*MMMM    pkgc                 
   K   dS )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       tr   querypageper_pagec                    K   i dfS )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r   N	extensionversionc                 v   K   t          j        d          }t          d|                    d                    S )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/   s@       --EMM2Y$Z$Z
 
 
 	
r   c                 v   K   t          j        d          }t          d|                    d                    S )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.uninstallB   s@       --EMM2T$U$U
 
 
 	
r   )N)__name__
__module____qualname____doc__propertyr	   r   strr   r   inttupledictr
   r   r   r+   r-   r   r   r   r   r      s       >>N2 N N N XNC HSM     #/2	tC))*HSM9	:   
 
s 
Xc] 
l 
 
 
 
&
 
 
 
 
 
 
 
r   r   )r1   r   typingr   #jupyterlab_server.translation_utilsr   managerr   r   r	   r
   r   r   r   r   <module>r:      s    : :
 


       : : : : : : _ _ _ _ _ _ _ _ _ _ _ _D
 D
 D
 D
 D
/ D
 D
 D
 D
 D
r   