Dc@sddlZddlZddlZddlZddlZddlZyddlmZWn!ek rddlmZnXy<ddl Z ddl m Z m Z e j e j e j Wnek rnXdddYZ e dkreejdkr dZn ejd Ze ZejeejGHd d d GHddlZejejejejGHejd GHejndS(iN(tStringIO(tSIGPIPEtSIG_IGNtCurlcBseZdZdgdZdZdZdZdZddZ dddZ d Z d Z d Z d Zd ZdZdZdZRS(s)High-level interface to pycurl functions.tcstj_j|d_|_d_d_jtj djtj djtj djtj djtj djdjtjdfd}jtj|fd }jtj|dS( NiRiiis /dev/nullicsj|7_dS(N(tpayload(tx(tself(s3/usr/lib64/python2.7/site-packages/curl/__init__.pytpayload_callback0scsj|7_dS(N(thdr(R(R(s3/usr/lib64/python2.7/site-packages/curl/__init__.pytheader_callback3s(tpycurlRthandletset_urlt verbosityt fakeheadersRthrdt set_optiontSSL_VERIFYHOSTtFOLLOWLOCATIONt MAXREDIRStNOSIGNALt COOKIEFILEt set_timeouttNETRCt WRITEFUNCTIONtHEADERFUNCTION(Rtbase_urlRRR ((Rs3/usr/lib64/python2.7/site-packages/curl/__init__.pyt__init__s"      cCs|jtj|dS(s&Set timeout for a retrieving an objectN(RR tTIMEOUT(Rttimeout((s3/usr/lib64/python2.7/site-packages/curl/__init__.pyR7scCs#||_|jtj|jdS(s!Set the base URL to be retrieved.N(RRR tURL(Rturl((s3/usr/lib64/python2.7/site-packages/curl/__init__.pyR ;s cGst|jj|dS(sSet an option on the retrieval.N(tapplyR tsetopt(Rtargs((s3/usr/lib64/python2.7/site-packages/curl/__init__.pyR@scCs|jtj|dS(s'Set verbosity to 1 to see transactions.N(RR tVERBOSE(Rtlevel((s3/usr/lib64/python2.7/site-packages/curl/__init__.pyt set_verbosityDscCsv|jr"|jtj|jn|rP|jtjtjj|j|nd|_ d|_ |j j |j S(sPerform the pending request.R( RRR t HTTPHEADERRtostpathtjoinRRR R tperform(Rt relative_url((s3/usr/lib64/python2.7/site-packages/curl/__init__.pyt __requestHs (   cCs@|r |dtj|7}n|jtjd|j|S(s=Ship a GET request for a specified URL, capture the response.t?i(turllibt urlencodeRR tHTTPGETt_Curl__request(RR tparams((s3/usr/lib64/python2.7/site-packages/curl/__init__.pytgetSscCs<|jtjd|jtjtj||j|S(s=Ship a POST request to a specified CGI, capture the response.i(RR tPOSTt POSTFIELDSR/R0R2(RtcgiR3((s3/usr/lib64/python2.7/site-packages/curl/__init__.pytpostZscCs|jS(s'Return the body from the last response.(R(R((s3/usr/lib64/python2.7/site-packages/curl/__init__.pytbody`scCs|jS(s)Return the header from the last response.(R (R((s3/usr/lib64/python2.7/site-packages/curl/__init__.pytheaderdscGst|jj|S(s Get information about retrieval.(R!R tgetinfo(RR#((s3/usr/lib64/python2.7/site-packages/curl/__init__.pytget_infohscCs*i}|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj |d<|jjtj |d<|jjtj |d <|jjtj |d <|jjtj |d <|jjtj|d <|jjtj|d <|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj |d<|jjtj |d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj|d<|jjtj |d<|S(s7Return a dictionary with all info on the last response.s effective-urls http-codes total-timesnamelookup-times connect-timespretransfer-times redirect-timesredirect-counts size-uploads size-downloads speed-uploads header-sizes request-sizescontent-length-downloadscontent-length-uploads content-types response-codesspeed-downloadsssl-verifyresulttfiletimesstarttransfer-timeshttp-connectcodeshttpauth-availsproxyauth-availsos-errnos num-connectss ssl-enginest cookielistt lastsocketsftp-entry-path(!R R;R t EFFECTIVE_URLt HTTP_CODEt TOTAL_TIMEtNAMELOOKUP_TIMEt CONNECT_TIMEtPRETRANSFER_TIMEt REDIRECT_TIMEtREDIRECT_COUNTt SIZE_UPLOADt SIZE_DOWNLOADt SPEED_UPLOADt HEADER_SIZEt REQUEST_SIZEtCONTENT_LENGTH_DOWNLOADtCONTENT_LENGTH_UPLOADt CONTENT_TYPEt RESPONSE_CODEtSPEED_DOWNLOADtSSL_VERIFYRESULTt INFO_FILETIMEtSTARTTRANSFER_TIMEtHTTP_CONNECTCODEtHTTPAUTH_AVAILtPROXYAUTH_AVAILtOS_ERRNOt NUM_CONNECTSt SSL_ENGINEStINFO_COOKIELISTt LASTSOCKETtFTP_ENTRY_PATH(Rtm((s3/usr/lib64/python2.7/site-packages/curl/__init__.pytinfolsDcCs|jj|dkS(s3Did a given check string occur in the last payload?i(Rtfind(Rtcheck((s3/usr/lib64/python2.7/site-packages/curl/__init__.pytansweredscCs8|jr|jjnd|_d|_d|_dS(s#Close a session, freeing resources.RN(R tclosetNoneR R(R((s3/usr/lib64/python2.7/site-packages/curl/__init__.pyRcs    cCs|jdS(N(Rc(R((s3/usr/lib64/python2.7/site-packages/curl/__init__.pyt__del__sN(t__name__t __module__t__doc__RRR RR&RdR2R4R8R9R:R<R_RbRcRe(((s3/usr/lib64/python2.7/site-packages/curl/__init__.pyRs           %  t__main__ishttp://curl.haxx.seit=iJs sos-errno((R(tsysR/t exceptionst mimetoolsR t cStringIORt ImportErrortsignalRRRRftlentargvR tcR4R9tpprintR_R<RXRc(((s3/usr/lib64/python2.7/site-packages/curl/__init__.pyt s0H