
    Ib	                     Z    d Z ddlZddlZddlZddlZddlZddlmZm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.
    N)	py3compatencodingc                    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          3/usr/lib/python3/dist-packages/notebook/_sysinfo.pypkg_commit_hashr"      s    , 	AHH
h
88AFF8V,-#!''(O+5??+5??(02 "&!1!1!3Q #[%6%6%8%?%?%HHH99X&! h
$   #"#s   A
C CCc                    t        |       \  }}t        t        j                  | ||t        j
                  t        j                  t        j                  t        j                         t        j                  t        j                  
      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
    )
notebook_versionnotebook_pathcommit_sourcecommit_hashsys_versionsys_executablesys_platformplatformos_namedefault_encoding)r"   dictnotebook__version__sysversion
executabler+   r   namer   DEFAULT_ENCODING)r   srchshs      r!   pkg_infor8   @   sb     x(HC!--KK~~\\""$!22
 
    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__r8   )r   r   s     r!   get_sys_infor>   [   sD    
A::aii		!&&1B1B*C DEFDD>r9   )__doc__r   r+   pprintr1   r   ipython_genutilsr   r   r/   r"   r8   r>    r9   r!   <module>rC      s1    
   
  0 +\
6r9   