grthtrhthjhtyjytjytkergtrhtrjytjerhrfh3 \ûã@s^dZddlZddddgZGdd„dejƒZGdd„deƒZGd d„deƒZGd d„deƒZdS) aResponse classes used by urllib. The base class, addbase, defines a minimal file-like interface, including read() and readline(). The typical response object is an addinfourl instance, which defines an info() method that returns headers and a geturl() method that returns the url. éNÚaddbaseÚ addclosehookÚaddinfoÚ addinfourlcs8eZdZdZ‡fdd„Zdd„Zdd„Zdd „Z‡ZS) rzOBase class for addinfo and addclosehook. Is a good idea for garbage collection.cs tt|ƒj|ddd�||_dS)NzF)Údelete)ÚsuperrÚ__init__Úfp)Úselfr )Ú __class__©ú'/usr/lib64/python3.6/urllib/response.pyrszaddbase.__init__cCsd|jjt|ƒ|jfS)Nz<%s at %r whose fp = %r>)r Ú__name__ÚidÚfile)r r r r Ú__repr__szaddbase.__repr__cCs|jjrtdƒ‚|S)NzI/O operation on closed file)r ÚclosedÚ ValueError)r r r r Ú __enter__szaddbase.__enter__cCs |jƒdS)N)Úclose)r ÚtypeÚvalueÚ tracebackr r r Ú__exit__!szaddbase.__exit__) rÚ __module__Ú __qualname__Ú__doc__rrrrÚ __classcell__r r )r r rs  cs,eZdZdZ‡fdd„Z‡fdd„Z‡ZS)rz*Class to add a close hook to an open file.cs tt|ƒj|ƒ||_||_dS)N)rrrÚ closehookÚhookargs)r r rr)r r r r(szaddclosehook.__init__c s>z(|j}|j}|r&d|_d|_||ŽWdtt|ƒjƒXdS)N)rrrrr)r rr)r r r r-s zaddclosehook.close)rrrrrrrr r )r r r%s cs(eZdZdZ‡fdd„Zdd„Z‡ZS)rz.class to add an info() method to an open file.cstt|ƒj|ƒ||_dS)N)rrrÚheaders)r r r )r r r r<szaddinfo.__init__cCs|jS)N)r )r r r r Úinfo@sz addinfo.info)rrrrrr!rr r )r r r9s cs2eZdZdZd ‡fdd„ Zdd„Zdd„Z‡ZS) rz9class to add info() and geturl() methods to an open file.Ncs"tt|ƒj||ƒ||_||_dS)N)rrrÚurlÚcode)r r r r"r#)r r r rGszaddinfourl.__init__cCs|jS)N)r#)r r r r ÚgetcodeLszaddinfourl.getcodecCs|jS)N)r")r r r r ÚgeturlOszaddinfourl.geturl)N)rrrrrr$r%rr r )r r rDs)rZtempfileÚ__all__Z_TemporaryFileWrapperrrrrr r r r Ús