
    kKjW	                        d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	  e
 ee      j                  dz        Zd
dZdd	Zy)zJupyterLab Server config.    )annotationsN)chain)Path)Any	templatesc                    d| v rt        | d         S d| v r1t        | d   t              rt        | d   j                  dd            S y)z$Get the url from the extension data.homepage
repositoryurl )str
isinstancedictget)datas    /Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/jupyter_builder/federated_extensions_requirements.pyget_package_urlr      sR     T4
#$$t
4+=t D4%))%455    c                    i }| D ]l  }t        |      }t        |j                  d      |j                  d            D ]0  }|j                  d      5 }t	        j
                  |      }ddd       d   |vs<|d   |d   |j                  dd	      t        |      |t        |j                        d
|j                  di       |j                  di       d	}d|v r9d|j                  di       v r%d|j                  d      j                  d      i|d<   |j                  dz  }|j                         r3|j                  d      5 }t	        j
                  |      |d<   ddd       |||d   <   3 o |S # 1 sw Y   xY w# 1 sw Y   &xY w)z,Get the metadata about federated extensions.z[!@]*/package.jsonz@*/*/package.jsonzutf-8)encodingNnameversiondescriptionr   Fdependencies
jupyterlab)	r   r   r   r   ext_dirext_pathis_localr   r   r
   r   zinstall.jsoninstall)r   r   globopenjsonloadr   r   r   parentexists)	labextensions_pathfederated_extensionsr   ext_dir_pathpkg_filefidpkgdatar   install_paths	            r   get_federated_extensionsr-      s   %G}2312
H 0C))C. 1v&::#FO&y1#*;;}b#A*73& #HOO 4 %$+KK$C")++lB"?
(  7*uLRT8U/U*/\1J1N1Nu1U)VD&'?&&(%**G*<*.))C.Y =59$T&\27
 &>  1 10* =<s   E7F7FF)r   dict[str, Any]returnr   )r&   z	list[str]r/   r.   )__doc__
__future__r   r"   	itertoolsr   pathlibr   typingr   r   __file__r$   DEFAULT_TEMPLATE_PATHr   r-    r   r   <module>r8      s=     #    DN11K?@ " r   