
    <h                         S r SSKrSSKrSSKrSSKrSSKrSSKJr  SSKJ	r	  SSK
JrJr  S\S\\\4   4S jrS\S\4S	 jrS\4S
 jrS\4S jrg)zQ
Utilities for getting information about IPython and the system it's running in.
    N)Path)release)_sysinfoencodingpkg_pathreturnc                 J   [         R                  (       a  S[         R                  4$ [        R                  " SR	                  S5      [        R
                  [        R
                  U S9nUR                  5       u  p#U(       a!  SUR                  5       R                  S5      4$ g)a  Get short form of commit hash given directory `pkg_path`

We get the commit hash from (in order of preference):

* IPython.utils._sysinfo.commit
* git output, if we are in a git repository

If these 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
installationzgit rev-parse --short HEAD )stdoutstderrcwd
repositoryascii)z(none found)z<not found>)	r   commit
subprocessPopensplitPIPEcommunicatestripdecode)r   procrepo_commit_s       hC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\IPython/utils/sysinfo.pypkg_commit_hashr       s    0 x.. 8>>sC#-??#-?? (*D %%'NK[..077@@@(    c                    [        U 5      u  p[        [        R                  U UU[        R                  [        R
                  [        R                  [        R                  " 5       [        R                  [        R                  S9
$ )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
)
ipython_versionipython_pathcommit_sourcecommit_hashsys_versionsys_executablesys_platformplatformos_namedefault_encoding)r   dictr   versionsys
executabler'   osnamer   DEFAULT_ENCODING)r   srchshs      r   pkg_infor3   F   s^     x(HCKK~~\\""$!22
 
r   c                  z    [        [        S5      R                  5       R                  n [	        [        U 5      5      $ )zBReturn useful information about IPython and the system, as a dict.z..)r   __file__resolveparentr3   str)paths    r   get_sys_infor:   a   s,    $'')00DCIr   c                  >    [         R                  " [        5       5      $ )a9  Return useful information about IPython and the system, as a string.

Examples
--------
::

    In [2]: print(sys_info())
    {'commit_hash': '144fdae',      # random
     'commit_source': 'repository',
     'ipython_path': '/home/fperez/usr/lib/python2.6/site-packages/IPython',
     'ipython_version': '0.11.dev',
     'os_name': 'posix',
     'platform': 'Linux-2.6.35-22-generic-i686-with-Ubuntu-10.10-maverick',
     'sys_executable': '/usr/bin/python',
     'sys_platform': 'linux2',
     'sys_version': '2.6.6 (r266:84292, Sep 15 2010, 15:52:39) \n[GCC 4.4.5]'}
)pprintpformatr:    r   r   sys_infor?   f   s    $ >>,.))r   )__doc__r.   r'   r<   r,   r   pathlibr   IPython.corer   IPython.utilsr   r   r8   tupler   r*   r3   r:   r?   r>   r   r   <module>rE      sk    
   
     ,#)c #)eCHo #)L
s 
t 
6d 
*# *r   