o
    iV                     @   sd   d 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.
    N)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ZdS )TranslationsHandlerz An API handler for translations.Nc                    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)selflocaler   r   current_loop r"   a/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/jupyterlab_server/translations_handler.pyget   s6   



zTranslationsHandler.get)N)__name__
__module____qualname____doc__r   webauthenticatedr$   r"   r"   r"   r#   r
      s    r
   )r(   r   r   	functoolsr   r   settings_utilsr   translation_utilsr   r   r   r   r	   r
   r"   r"   r"   r#   <module>   s    	