ó
•‰]c           @   s%   d  d l  Z  d  d l Z d „  Z d S(   iÿÿÿÿNc         C   s@  t  |  t j ƒ r<y d d l m } Wn t k
 r? t } n X|  j d ƒ rk | t k rk t j d ƒ q<|  j d ƒ r | r t j d ƒ q<|  j d ƒ r¯ t j d ƒ q<|  j d	 ƒ rç d d
 l	 m
 } | s9t j d ƒ q9q<|  j d ƒ rd d l	 m } | s9t j d ƒ q9q<|  j d ƒ r]d d l m } | d  k  r9t j d ƒ q9q<|  j d ƒ r•d d l	 m } | r9t j d ƒ q9q<|  j d ƒ rÍd d l	 m } | s9t j d ƒ q9q<|  j d ƒ rd d l	 m } | s9t j d ƒ q9q<|  j d ƒ r<t j ƒ  d k r9t j d ƒ q9q<n  d  S(!   Niÿÿÿÿ(   t   Imaget   pil_requireds   PIL must be installedt   pil_not_installeds   PIL is installedt   not_py33s#   Ordering is not a given in Python 3t   defusedxml_required(   t
   DEFUSEDXMLs=   defusedxml is required to guard against these vulnerabilitiest   lxml_required(   t   LXMLs<   LXML is required for some features such as schema validationt   lxml_buffering(   t   LIBXML_VERSIONi   i   i    s   LXML >= 3.4 is requiredt   no_lxmls   LXML has a different interfacet   numpy_required(   t   NUMPYs   Numpy must be installedt   pandas_required(   t   PANDASs   Pandas must be installedt   no_pypyt   PyPys   Skipping pypy(   i   i   i    i    (   t
   isinstancet   pytestt   Functiont   PILR    t   ImportErrort   Falset   get_closest_markert   skipt   openpyxlR   R   t
   lxml.etreeR	   R   R   t   platformt   python_implementation(   t   itemR    R   R   R	   R   R   (    (    s0   lib/python2.7/site-packages/openpyxl/conftest.pyt   pytest_runtest_setup   sL    
(   R   R   R   (    (    (    s0   lib/python2.7/site-packages/openpyxl/conftest.pyt   <module>   s   