\dG dZdZdZdS)zConvert a NT pathname to a file URL and vice versa. This module only exists to provide OS-specific code for urllib.requests, thus do not use directly. cddl}ddl}|dd}d|vrZ|dddkr |dd}|d}|jd |S|d}t|dks|dd |jvrd |z}t||dd  }|d d}|dz}|D]$}|r |d z|j|z}%| dr| dr|d z }|S) z{OS-specific conversion from a relative URL of the 'file' scheme to a file system path; not recommended for general use.N:|z/////\z Bad URL: ) string urllib.parsereplacesplitparseunquotejoinlen ascii_lettersOSErrorupperendswith)urlr urllib componentscomperrordrivepaths ..\python\lib\nturl2path.py url2pathnamer sv  ++c3  C #:: rr7f  abb'CYYs^^ |##DIIj$9$9::: 99S>>D 4yyA~~aF,@@@c!enn GBK    Eas##J 3;D<<  <$;!5!5d!;!;;D }}Scll3//   Kc2ddl}|dddkrX|dd}|dddkrd|ddz}n |ddd krtd |zd |vrU|ddd krd |z}|d}|jd |S|d d }t|dkst|ddkrd |z}t||j|d}|dd}d|zd z}|D]$}|r |d z|j|z}%|S)z{OS-specific conversion from a file system path to a relative URL of the 'file' scheme; not recommended for general use.rNrz\\?\zUNC\r r rrz Bad path: z\\r)maxsplitz///)r rrrrquoterr)prrrrrrs r pathname2urlr&-s !u  abbE RaR5;;==G # #qu AA qsVs]],*++ + !88 RaR5F?? AWWT]] |!!#((:"6"6777 7737 # #D 4yyA~~T!W))q enn L  tAw}} / /Eat$$J 5=3 D99  9#: 2 24 8 88D Kr!N)__doc__r r&r!rr)s8###J$$$$$r!