Viewing File: /opt/alt/python38/lib/python3.8/site-packages/urllib3/util/__pycache__/url.cpython-38.pyc
U
`6 @ s d dl mZ d dlZd dlmZ ddlmZ ddlmZ ddd d
ddd
gZ dZ
edZedZ
edejejB ZdZdZdjeedZeedZdddddddddg Zd Zd!d"d#d$ eD d% Zd&e d' Zd(e d! e d) Zd*Zed+Zed,e d- Zed,e d- Zed,e d- Z ed,edd. d- Z!ed/e d0 Z"d1eeef Z#ee#ejejB Z$e%d2Z&e%d3Z'e&e'B d4hB Z(e(d5d6hB Z)e)d7hB Z*Z+G d8d9 d9ed9e Z,d:d; Z-dKd=d>Z.d?d@ Z/dAdB Z0dCdD Z1dEdF Z2dGdH Z3dIdJ Z4dS )L )absolute_importN)
namedtuple )LocationParseError)sixschemeauthhostportpathqueryfragment)httpZhttpsNz%[a-fA-F0-9]{2}z^(?:[a-zA-Z][a-zA-Z0-9+-]*:|/)zS^(?:([a-zA-Z][a-zA-Z0-9+.-]*):)?(?://([^\\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?$z(?:[0-9]{1,3}\.){3}[0-9]{1,3}z[0-9A-Fa-f]{1,4}z(?:{hex}:{hex}|{ipv4}))hexZipv4)r Zls32z(?:%(hex)s:){6}%(ls32)sz::(?:%(hex)s:){5}%(ls32)sz%(?:%(hex)s)?::(?:%(hex)s:){4}%(ls32)sz2(?:(?:%(hex)s:)?%(hex)s)?::(?:%(hex)s:){3}%(ls32)sz6(?:(?:%(hex)s:){0,2}%(hex)s)?::(?:%(hex)s:){2}%(ls32)sz/(?:(?:%(hex)s:){0,3}%(hex)s)?::%(hex)s:%(ls32)sz'(?:(?:%(hex)s:){0,4}%(hex)s)?::%(ls32)sz&(?:(?:%(hex)s:){0,5}%(hex)s)?::%(hex)sz(?:(?:%(hex)s:){0,6}%(hex)s)?::zDABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._!\-~z(?:|c C s g | ]}|t qS )_subs.0xr r A/opt/alt/python38/lib/python3.8/site-packages/urllib3/util/url.py
<listcomp>6 s r )z
(?:%25|%)(?:[z]|%[a-fA-F0-9]{2})+z\[z)?\]z!(?:[^\[\]%:/?#]|%[a-fA-F0-9]{2})*z!^(/[^?#]*)(?:\?([^#]*))?(?:#.*)?$^$(z)\]$z^(%s|%s|%s)(?::([0-9]{0,5}))?$zBABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-~z!$&'()*+,;=:@/?c s^ e Zd ZdZdZd fdd Zedd Zedd Zed
d Z edd
Z
dd Z ZS )Urlz
Data structure for representing an HTTP URL. Used as a return value for
:func:`parse_url`. Both the scheme and host are normalized as they are
both case-insensitive according to RFC 3986.
r Nc
sD |r| dsd| }|d k r&| }tt| | |||||||S )Nr )
startswithlowersuperr! __new__)clsr r r r
r r r
__class__r r r% [ s
zUrl.__new__c C s | j S )z@For backwards-compatibility with urlparse. We're nice like that.)r selfr r r hostnamem s zUrl.hostnamec C s&