o
    ^i                     @  sp   d Z ddlmZ ddlZddlZddlmZ ddlZddlm	Z	 ddl
mZmZmZmZmZ G dd	 d	e	ZdS )
z
Translation handler.
    )annotationsN)partial   )SchemaHandler)
SYS_LOCALEget_language_packget_language_packsis_valid_locale
translatorc                   @  s$   e Zd ZdZejjd	d
ddZdS )TranslationsHandlerz An API handler for translations.Nlocale
str | NonereturnNonec                   s   i d}}zWt jj }|du r#|dtt|  dI dH \}}n9|p&t}|dkr-t}|dtt	|I dH \}}|i krS|sSt
|rLd| d}nd| d}n	t
|r\t| W n tyj   t }Y nw | d | t||d	 dS )
a6  
        Get installed language packs.

        If `locale` is equals to "default", the default locale will be used.

        Parameters
        ----------
        locale: str, optional
            If no locale is provided, it will list all the installed language packs.
            Default is `None`.
         N)display_localedefaultzLanguage pack 'z' not installed!z' not valid!   )datamessage)tornadoioloopIOLoopcurrentrun_in_executorr   r   get_current_localer   r   r	   r
   
set_locale	Exception	traceback
format_exc
set_statusfinishjsondumps)selfr   r   r   current_loop r&   a/home/ubuntu/hpml_nyu/venv/lib/python3.10/site-packages/jupyterlab_server/translations_handler.pyget   s6   



zTranslationsHandler.get)N)r   r   r   r   )__name__
__module____qualname____doc__r   webauthenticatedr(   r&   r&   r&   r'   r      s    r   )r,   
__future__r   r"   r   	functoolsr   r   settings_utilsr   translation_utilsr   r   r   r	   r
   r   r&   r&   r&   r'   <module>   s    	