o
    ˷eu                     @   s   d Z ddlZddlZddlmZmZmZmZmZm	Z	m
Z
mZmZmZmZ eee	e
eeeefZdd Zdd Ze Zee\ZZZZeeeZdS )a   Import Qt in a manner suitable for an IPython kernel.

This is the import used for the `gui=qt` or `matplotlib=qt` initialization.

Import Priority:

if Qt has been imported anywhere else:
   use that

if matplotlib has been imported and doesn't support v2 (<= 1.0.1):
    use PyQt4 @v1

Next, ask QT_API env variable

if QT_API not set:
    ask matplotlib what it's using. If Qt4Agg or Qt5Agg, then use the
        version matplotlib is configured with

    else: (matplotlib said nothing)
        # this is the default path - nobody told us anything
        try in this order:
            PyQt default version, PySide, PyQt5
else:
    use what QT_API says

    N)load_qt
loaded_apienum_factoryQT_API_PYQT6QT_API_PYSIDE6QT_API_PYQT5QT_API_PYSIDE2QT_API_PYQTv1QT_API_PYQTQT_API_PYSIDEQT_API_PYQT_DEFAULTc                 C   s   | du rdS | j dd}|dkr?| j dd}|du rdS | dkr'tgS | dkr0tgS | dkr9tgS td| |d	kr_| j d
d}|du rPdS | dkrYtgS td| dS )z-Constraints placed on an imported matplotlib.NbackendQt4Aggzbackend.qt4pysidepyqt4pyqt4v2z3unhandled value for backend.qt4 from matplotlib: %rQt5Aggzbackend.qt5pyqt5z3unhandled value for backend.qt5 from matplotlib: %r)rcParamsgetlowerr   r   r
   ImportErrorr   )mplr   mpqt r   U/var/www/ideatree/venv/lib/python3.10/site-packages/IPython/external/qt_for_kernel.pymatplotlib_optionsD   s4   r   c                  C   s   t  } | dur
| gS tjdd}|dur"t|jddk r"tgS tj	dd}|du r:t
|p9tttttttgS |tvrItd|dtf |gS )zGReturn a list of acceptable QT APIs, in decreasing order of preference.N
matplotlib.)102QT_APIz'Invalid Qt API %r, valid values are: %rz, )r   sysmodulesr   tuple__version__splitr   osenvironr   r   r   r   r   r
   r   _qt_apisRuntimeErrorjoin)loadedr   qt_apir   r   r   get_options^   s,   	r/   )__doc__r(   r#   IPython.external.qt_loadersr   r   r   r   r   r   r   r	   r
   r   r   r*   r   r/   api_optsQtCoreQtGuiQtSvgr"   enum_helperr   r   r   r   <module>   s$    4 