Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/yarl/__pycache__/quoting.cpython-35.opt-1.pyc
¨ˆZà ã @ sü d d l Z d d l m Z m Z m Z e j d ƒ Z d d „ e d ƒ Dƒ Z d Z d Z
e
d Z e e Z e e d
Z
e
e
Z e j d ƒ Z Gd d
„ d
ƒ Z Gd d „ d ƒ Z y d d l m Z m Z Wn e k
r÷ e Z e Z Yn Xd S)é N)Ú
ascii_lettersÚascii_lowercaseÚdigitsÚasciic C s( h | ] } d j | ƒ j d ƒ ’ q S)z%{:02X}r )ÚformatÚencode)Ú.0Úi© r
ú/quoting.pyú <setcomp> s r é z:/?#[]@z!$'()*,z+&=;z-._~s [A-Z0-9][A-Z0-9]c @ s: e Z d Z d d d d d d d d „ Z d d „ Z d
S)Ú _PyQuoterÚsafeÚ Ú protectedÚqsFc C s | | _ | | _ | | _ d S)N)Ú_safeÚ
_protectedÚ_qs)Úselfr r r r
r
r Ú__init__ s z_PyQuoter.__init__c
C s | d k r d St | t ƒ s+ t d ƒ ‚ | s5 d S| j d d d ƒ} t ƒ } d } | j } | t 7} | j s | d 7} | | j 7} | j d ƒ } d } xh| t | ƒ k r| | } | d
7} | rR| t
k ræ | d } | j | ƒ t | ƒ d k rt | ƒ } | d
d … } t
j | ƒ sP| j d
ƒ d } | d 8} q¤ y/ t t | d
d … j d ƒ d d ƒƒ } Wn2 t k
r³| j d
ƒ d } | d 8} w¤ Yn X| | j k rÓ| j | ƒ n/ | | k rõ| j t | ƒ ƒ n
| j | ƒ d } q¤ t | ƒ d k r¤ | t | ƒ k r¤ | j d
ƒ d } | d
8} q¤ nJ | t d ƒ k rœt ƒ } | j | ƒ | t | ƒ k r¤ | j d
ƒ q¤ | j rÍ| t d ƒ k rÍ| j t d ƒ ƒ q¤ | | k ré| j | ƒ q¤ | j d j | ƒ j d ƒ ƒ q¤ W| j d ƒ S)NzArgument should be strr Úutf8ÚerrorsÚignoreó z+&=;r r é é é s %25é Úbaseé ú%ú ú+z%{:02X})Ú
isinstanceÚstrÚ TypeErrorr Ú bytearrayr ÚALLOWEDr r ÚlenÚBASCII_LOWERCASEÚappendÚbytesÚ_IS_HEXÚmatchÚextendÚchrÚintÚdecodeÚ
ValueErrorÚordr )
r ÚvalÚretÚpctr ZbsafeÚidxÚchÚbufÚunquotedr
r
r Ú__call__ s€
/
$
#z_PyQuoter.__call__N)Ú__name__Ú
__module__Ú__qualname__r r= r
r
r
r r s r c @ s4 e Z d Z d d d d d d „ Z d d „ Z d S)
Ú_PyUnquoterÚunsafer r Fc C s4 | | _ | | _ t ƒ | _ t d d ƒ | _ d S)Nr T)Ú_unsafer Ú_QuoterÚ_quoterÚ
_qs_quoter)r rB r r
r
r r h s z_PyUnquoter.__init__c C sÝ | d k r d St | t ƒ s+ t d ƒ ‚ | s5 d Sd } d } t ƒ } g } xß| D]×} | r± | | 7} t | ƒ d k rW | j t | d d … d d ƒƒ | } d } qW | rOy | j d ƒ } Wn t k
rÞ Ynq X| j r
| d k r
| j | j
| ƒ ƒ n5 | | j k r5| j | j | ƒ ƒ n
| j | ƒ | d d … =| d k rd| } qW | r}| j | ƒ d } | d
k rÂ| j s¢| | j k r²| j d
ƒ qW | j d ƒ qW | | j k r!| j d ƒ t
t | ƒ ƒ j ƒ d d … } x | D] } | j | ƒ qWqW | j | ƒ qW W| rÐy | j d ƒ } Wn t k
rl| j | ƒ Ynd X| j r›| d k r›| j | j
| ƒ ƒ n5 | | j k rÃ| j | j | ƒ ƒ n
| j | ƒ d j | ƒ S)
NzArgument should be strr r r r r! r z+=&;r"