관리-도구
편집 파일: uri_validate.cpython-39.opt-1.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 � � ��