File: //usr/lib/python3.9/site-packages/oauthlib/__pycache__/uri_validate.cpython-39.pyc
a
�#/d� � @ sp d Z ddlZdZdZdZde� Zde� ZdZd Z d
e� Z
de� Zde� Zd
e� Z
de� ZdZde� Zde� Zde� Zde� Zde� Zde� Zde� Zde� Zde� Zde� Zde� Zde� Zde� Zde� ZdZde� Zd e� Z d e� Z!d!e� Z"d"e� Z#d#e� Z$d$e� Z%d%e� Z&d&e� Z'd'd(� Z(d)d*� Z)d+d,� Z*dS )-a
Regex for URIs
These regex are directly derived from the collected ABNF in RFC3986
(except for DIGIT, ALPHA and HEXDIG, defined by RFC2234).
They should be processed with re.VERBOSE.
Thanks Mark Nottingham for this code - https://gist.github.com/138549
� Nz[\x30-\x39]z[\x41-\x5A\x61-\x7A]z[\x30-\x39A-Fa-f]z %% %(HEXDIG)s %(HEXDIG)sz-(?: %(ALPHA)s | %(DIGIT)s | \- | \. | _ | ~ )z#(?: : | / | \? | \# | \[ | \] | @ )zI(?: ! | \$ | & | ' | \( | \) |
\* | \+ | , | ; | = )z?(?: %(unreserved)s | %(pct_encoded)s | %(sub_delims)s | : | @ )z%(?: %(gen_delims)s | %(sub_delims)s )z5%(ALPHA)s (?: %(ALPHA)s | %(DIGIT)s | \+ | \- | \. )*z�(?: %(DIGIT)s |
[\x31-\x39] %(DIGIT)s |
1 %(DIGIT)s{2} |
2 [\x30-\x34] %(DIGIT)s |
25 [\x30-\x35]
)
z@%(dec_octet)s \. %(dec_octet)s \. %(dec_octet)s \. %(dec_octet)sz#([A-Fa-f0-9:]+[:$])[A-Fa-f0-9]{1,4}z;v %(HEXDIG)s+ \. (?: %(unreserved)s | %(sub_delims)s | : )+z+\[ (?: %(IPv6address)s | %(IPvFuture)s ) \]z8(?: %(unreserved)s | %(pct_encoded)s | %(sub_delims)s )*z;(?: %(unreserved)s | %(pct_encoded)s | %(sub_delims)s | : )z5(?: %(IP_literal)s | %(IPv4address)s | %(reg_name)s )z(?: %(DIGIT)s )*z.(?: %(userinfo)s @)? %(host)s (?: : %(port)s)?z
%(pchar)s*z
%(pchar)s+z<(?: %(unreserved)s | %(pct_encoded)s | %(sub_delims)s | @ )+z(?: / %(segment)s )*z,/ (?: %(segment_nz)s (?: / %(segment)s )* )?z&%(segment_nz_nc)s (?: / %(segment)s )*z#%(segment_nz)s (?: / %(segment)s )*� z�(?: %(path_abempty)s |
%(path_absolute)s |
%(path_noscheme)s |
%(path_rootless)s |
%(path_empty)s
)
z(?: %(pchar)s | / | \? )*z�(?: (?: // %(authority)s %(path_abempty)s ) |
%(path_absolute)s |
%(path_rootless)s |
%(path_empty)s
)
z�(?: (?: // %(authority)s %(path_abempty)s ) |
%(path_absolute)s |
%(path_noscheme)s |
%(path_empty)s
)
z:%(relative_part)s (?: \? %(query)s)? (?: \# %(fragment)s)?zM^(?: %(scheme)s : %(hier_part)s (?: \? %(query)s )? (?: \# %(fragment)s )? )$z"^(?: %(URI)s | %(relative_ref)s )$z6^(?: %(scheme)s : %(hier_part)s (?: \? %(query)s )? )$c C s t �t| t j�S �N)�re�match�URI�VERBOSE�Zuri� r �9/usr/lib/python3.9/site-packages/oauthlib/uri_validate.py�is_uri� s r c C s t �t| t j�S r )r r �
URI_referencer r r r r
�is_uri_reference� s r
c C s t �t| t j�S r )r r �absolute_URIr r r r r
�is_absolute_uri� s r )+�__doc__r ZDIGITZALPHAZHEXDIG�localsZpct_encodedZ
unreservedZ
gen_delimsZ
sub_delimsZpcharZreserved�schemeZ dec_octetZIPv4addressZIPv6addressZ IPvFutureZ
IP_literalZreg_name�userinfo�host�portZ authorityZsegmentZ
segment_nzZ
segment_nz_ncZpath_abemptyZ
path_absoluteZ
path_noschemeZ
path_rootlessZ
path_empty�path�query�fragmentZ hier_partZ
relative_partZrelative_refr r r r r
r r r r r
�<module> sb
�
�
��