;ò 5Ec@sİdkZdkZy1dklZdklZdklZeZWnej o e ZnXe Z eodfd„ƒYZ ndfd„ƒYZ e e d„ZdS( N(sSSL(shttpslib(s m2urllib2s M2SSLFactorycBs/tZd„Zd„Zed„Zd„ZRS(NcCs|i||ƒ|_dS(N(sselfs_get_ssl_contexts ssl_ca_certs ssl_context(sselfs ssl_ca_certs ssl_context((sS/mnt/gmirror/ports/www/py-urlgrabber/work/urlgrabber-3.1.0/urlgrabber/sslfactory.pys__init__%scCsC|o4tiƒ}|i|ƒ|itidƒ|Sn|SdS(s Create an ssl context using the CA cert file or ssl context. The CA cert is used first if it was passed as an option. If not, then the supplied ssl context is used. If no ssl context was supplied, None is returned. i˙˙˙˙N(s ssl_ca_certsSSLsContextscontextsload_verify_locationss set_verifys verify_peers ssl_context(sselfs ssl_ca_certs ssl_contextscontext((sS/mnt/gmirror/ports/www/py-urlgrabber/work/urlgrabber-3.1.0/urlgrabber/sslfactory.pys_get_ssl_context(s  cCs1ti||iƒ}|o ||_n|SdS(N(shttplibsHTTPSConnectionshostsselfs ssl_contexts connectionsresponse_class(sselfshostsresponse_classs connection((sS/mnt/gmirror/ports/www/py-urlgrabber/work/urlgrabber-3.1.0/urlgrabber/sslfactory.pyscreate_https_connection8s cGsti|i|ŒSdS(N(s m2urllib2s build_openersselfs ssl_contextshandlers(sselfshandlers((sS/mnt/gmirror/ports/www/py-urlgrabber/work/urlgrabber-3.1.0/urlgrabber/sslfactory.pys create_opener>s(s__name__s __module__s__init__s_get_ssl_contextsNonescreate_https_connections create_opener(((sS/mnt/gmirror/ports/www/py-urlgrabber/work/urlgrabber-3.1.0/urlgrabber/sslfactory.pys M2SSLFactory#s   s SSLFactorycBstZed„Zd„ZRS(NcCs+ti|ƒ}|o ||_n|SdS(N(shttplibsHTTPSConnectionshosts connectionsresponse_class(sselfshostsresponse_classs connection((sS/mnt/gmirror/ports/www/py-urlgrabber/work/urlgrabber-3.1.0/urlgrabber/sslfactory.pyscreate_https_connectionDs cGsti|ŒSdS(N(surllib2s build_openershandlers(sselfshandlers((sS/mnt/gmirror/ports/www/py-urlgrabber/work/urlgrabber-3.1.0/urlgrabber/sslfactory.pys create_openerJs(s__name__s __module__sNonescreate_https_connections create_opener(((sS/mnt/gmirror/ports/www/py-urlgrabber/work/urlgrabber-3.1.0/urlgrabber/sslfactory.pys SSLFactoryBs cCsMtot||ƒSn2|p|ototidƒqBntƒSdS(s: Return an SSLFactory, based on if M2Crypto is available. sHSSL arguments supplied, but M2Crypto is not available. Using Python SSL.N(s have_m2cryptos M2SSLFactorys ssl_ca_certs ssl_contextsDEBUGswarnings SSLFactory(s ssl_ca_certs ssl_context((sS/mnt/gmirror/ports/www/py-urlgrabber/work/urlgrabber-3.1.0/urlgrabber/sslfactory.pys get_factoryOs(shttplibsurllib2sM2CryptosSSLshttpslibs m2urllib2sTrues have_m2cryptos ImportErrorsFalsesNonesDEBUGs M2SSLFactorys SSLFactorys get_factory( s get_factoryshttplibs M2SSLFactoryshttpslibs m2urllib2surllib2sSSLs SSLFactorys have_m2cryptosDEBUG((sS/mnt/gmirror/ports/www/py-urlgrabber/work/urlgrabber-3.1.0/urlgrabber/sslfactory.pys?s