^c ddlZddlZddlZddlZddlZddlmZddl mZej Z GddZ e Z e Ze Zeejdeejdd eejd d eejd d eejdeejdeejde ejdddZddZee_ee_dZdZdZdZdZdS)N)getattr)pycompatc&eZdZdZdZdZdZdS) _pycompatstubci|_dSN)_aliases)selfs 8/usr/lib/python3/dist-packages/mercurial/urllibcompat.py__init__z_pycompatstub.__init__s  c~tt|}|jfd|DdS)z4Add items that will be populated at the first accessc3pK|]0}|dd|ffV1dS)_N)replacelower).0itemorigins r z1_pycompatstub._registeraliases..sW  @DT\\#r " " ( ( * *VTN ;      rN)map_sysstrr update)r ritemss ` r _registeraliasesz_pycompatstub._registeraliasess\GU##     HM        rcR|t|f|jt|<dS)z%Alias ``origin``.``attr`` as ``name``N)rr )r rattrnames r _registeraliasz_pycompatstub._registeraliass%(. '> gdmm$$$rc |j|\}}n#t$rt|wxYwt||x|j|<}|Sr )r KeyErrorAttributeErrorr__dict__)r r rrobjs r __getattr__z_pycompatstub.__getattr__#sb '=.LFDD ' ' ' && & '$+FD$9$99 dc s-N)__name__ __module__ __qualname__r rr!r'rr rrsP   ???rr)s splitattrs splitpasswds splitports splitusersurlparses urlunparsesparse_qssparseqss parse_qslsparseqslsunquote_to_bytessunquote)sAbstractHTTPHandlers BaseHandlers build_openers FileHandlers FTPHandlers ftpwrappers HTTPHandlers HTTPSHandlersinstall_openers pathname2urlsHTTPBasicAuthHandlersHTTPDigestAuthHandlersHTTPPasswordMgrWithDefaultRealms ProxyHandlersRequests url2pathnamesurlopen)s addclosehooks addinfourl)s HTTPErrorsURLError)s HTTPServersBaseHTTPRequestHandlersSimpleHTTPRequestHandlersCGIHTTPRequestHandler/ct|tjrt|}tj||}|ddS)N)safeasciistrict) isinstancerbytestrbytesurllibparsequote_from_bytesencode)sr.s r quoter9tsR!X%&& !HH %%ad%33A 88GX & &&rFcntj||}|dS)N)doseqr/)r4r5 urlencoder7)queryr;r8s r r<r<s. uE22A 88G  rc|jSr )full_urlreqs r getfullurlrB <rc|jSr )hostr@s r gethostrF 8Orc|jSr )selectorr@s r getselectorrJrCrc|jSr datar@s r getdatarNrGrc|jduSr rLr@s r hasdatarPs 84 r)r,)F) http.serverhttp urllib.errorr4 urllib.parseurllib.requesturllib.responserrrsysstrrr httpserverurlrequrlerrrr5r!requestresponseerrorserverr9r<rBrFrJrNrPr+rr r_sH /0]__   L   flK<<<flL+>>>fl$7DDD N0 O L K''''       r