U
    +¿ifj
  ã                   @   s,   d Z ddlmZ dd„ Zdd„ Zdd„ Zd	S )
z+
Internal module for console introspection
é    )Úget_terminal_sizec                  C   sj   ddl m}  | dƒ}| dƒ}tƒ rRtƒ rFddlm} |dƒ}|dƒ}qZtƒ \}}nd\}}|p`||pf|fS )zn
    Return console size as tuple = (width, height).

    Returns (None,None) in non-interactive session.
    r   ©Ú
get_optionzdisplay.widthzdisplay.max_rows)Úget_default_val)NN)Úpandasr   Úin_interactive_sessionÚin_ipython_frontendZpandas._config.configr   r   )r   Zdisplay_widthZdisplay_heightr   Úterminal_widthÚterminal_height© r   úL/home/mars/bis/venv/lib/python3.8/site-packages/pandas/io/formats/console.pyÚget_console_size   s    
r   c                     sD   ddl m‰  ‡ fdd„} ztp"| ƒ W S  tk
r>   | ƒ  Y S X dS )z›
    Check if we're running in an interactive shell.

    Returns
    -------
    bool
        True if running under python/ipython interactive shell.
    r   r   c                     s>   zdd l } W n tk
r(   ˆ dƒ Y S X t| dƒ p<ˆ dƒS )Nr   zmode.sim_interactiveÚ__file__)Ú__main__ÚModuleNotFoundErrorÚhasattr)Úmainr   r   r   Ú
check_main@   s
    z*in_interactive_session.<locals>.check_mainN)r   r   Z__IPYTHON__Ú	NameError)r   r   r   r   r   5   s    	r   c                  C   s6   zt ƒ } dtt| ƒƒ ¡ kW S  tk
r0   Y nX dS )zZ
    Check if we're inside an IPython zmq frontend.

    Returns
    -------
    bool
    ZzmqF)Úget_ipythonÚstrÚtypeÚlowerr   )Úipr   r   r   r   N   s    r   N)Ú__doc__Úshutilr   r   r   r   r   r   r   r   Ú<module>   s   -