
    Xh	                     B    d Z ddlZddlZddlZddlZddlZd Zd Zd Zy)zQ
Utilities for getting information about Jupyter and the system it's running in.
    Nc                    t         j                  }d}| }||k7  r|}|j                  |j                  |d            ro	 t	        j
                  g dt        j                  t        j                  |       }|j                         \  }}|r!d|j                         j                  d      fS y|j                  |      }||k7  ry# t        $ r d}Y Iw xY w)a  Get short form of commit hash given directory `pkg_path`

    We get the commit hash from git if it's a repo.

    If this fail, we return a not-found placeholder tuple

    Parameters
    ----------
    pkg_path : str
        directory containing package
        only used for getting commit from active repo

    Returns
    -------
    hash_from : str
        Where we got the hash from - description
    hash_str : str
        short form of hash
    Nz.git)gitz	rev-parsez--shortHEAD)stdoutstderrcwd
repositoryascii) r   )ospathexistsjoin
subprocessPopenPIPEcommunicateOSErrorstripdecodedirname)pkg_pathpcur_pathpar_pathprocrepo_commit_s          K/var/www/html/myenv/lib/python3.12/site-packages/jupyter_server/_sysinfo.pypkg_commit_hashr       s    , 	AHH
h
88AFF8V,-	#!'';%??%?? 	 "&!1!1!3Q #[%6%6%8%?%?%HHH99X&% h
(   #"#s   A
C CCc           
          t        |       \  }}t        j                  | ||t        j                  t        j
                  t        j                  t        j                         t        j                  d	S )zReturn dict describing the context of this package

    Parameters
    ----------
    pkg_path : str
        path containing __init__.py for package

    Returns
    -------
    context : dict
        with named parameters of interest
    )	jupyter_server_versionjupyter_server_pathcommit_sourcecommit_hashsys_versionsys_executablesys_platformplatformos_name)	r    jupyter_server__version__sysversion
executabler)   r   name)r   srchshs      r   pkg_infor3   ?   sV     x(HC"0"<"<'{{..%%'77
 
    c            	          t         j                  } | j                  | j                  | j	                  | j                  t        j                                          }t        |      S )z5Return useful information about the system as a dict.)	r   r   realpathr   abspathr   r+   __file__r3   )r   r   s     r   get_sys_infor9   Z   sD    
A::aii		!&&1H1H*I JKLDD>r4   )	__doc__r   r)   r   r-   r+   r    r3   r9    r4   r   <module>r<      s+    
   
 -`6r4   