
    Bfi
                        d Z dZdZdZdZdZdZddlZddlZej                  d   d	kD  re
Zdd
lmZmZmZmZmZmZmZmZmZ n&ddlZej.                  Zdd
lmZmZmZmZmZmZmZmZmZ ddlmZ  ej6                  e      Zd Zy)zTurllib2 style build opener integrates with HTTPSConnection class from this
package.
zP J Kershawz21/12/10z2(C) 2011 Science and Technology Facilities Councilz-BSD - see LICENSE file in top-level directoryzPhilip.Kershaw@stfc.ac.ukz$Id$    N   )	ProxyHandlerUnknownHandlerHTTPDefaultErrorHandler
FTPHandlerFileHandlerHTTPErrorProcessorHTTPHandlerOpenerDirectorHTTPRedirectHandler)HTTPSContextHandlerc                  V   d }t               }t        t        t        t        t
        t        t        t        g}t        |      }|j                  t               g }|D ]N  }| D ]G  } ||      rt        ||      s|j                  |       *t        ||      s7|j                  |       I P |D ]  }||vs|j                   |               |j                  d      }	t        |vr|j                  t        |	             | D ]"  }
 ||
      r |
       }
|j                  |
       $ |S )a  Create an opener object from a list of handlers.

    The opener will use several default handlers, including support
    for HTTP and FTP.

    If any of the handlers passed as arguments are subclasses of the
    default handlers, the default handlers will not be used.
    c                 >    t        | t              xs t        | d      S )N	__bases__)
isinstanceclass_type_hasattr)objs    v/var/www/html/BankruptcyAI-uat/bankruptcy-ai/venv/lib/python3.12/site-packages/ndg/httpsclient/urllib2_build_opener.pyisclasszbuild_opener.<locals>.isclass,   s    #{+HwsK/HH    ssl_context)r   r   r   r
   r   r   r   r   r	   listappendr   
issubclassr   add_handlerget)handlerskwr   openerdefault_classescheck_classesskipklasscheckr   hs              r   build_openerr'   #   s)   I F#^[.0C!;0BDO )M,-D # 	#Eu~eU+KK&E5)E"	## ! (uw'(
 &&'K $&.{;< 1:A1
 Mr   )__doc__
__author____date____copyright____license____contact____revision__loggingsysversion_infotyper   urllib.requestr   r   r   r   r   r	   r
   r   r   types	ClassTypeurllib2ndg.httpsclient.httpsr   	getLogger__name__logr'    r   r   <module>r<      s    
D=)  
 AK5 5 5 //KK K K 6g!+r   