Третий коммит, добавление share, share_kb, а также ADMIN_ID
This commit is contained in:
33
myenv/Lib/site-packages/yarl/_quoters.py
Normal file
33
myenv/Lib/site-packages/yarl/_quoters.py
Normal file
@@ -0,0 +1,33 @@
|
||||
"""Quoting and unquoting utilities for URL parts."""
|
||||
|
||||
from typing import Union
|
||||
from urllib.parse import quote
|
||||
|
||||
from ._quoting import _Quoter, _Unquoter
|
||||
|
||||
QUOTER = _Quoter(requote=False)
|
||||
REQUOTER = _Quoter()
|
||||
PATH_QUOTER = _Quoter(safe="@:", protected="/+", requote=False)
|
||||
PATH_REQUOTER = _Quoter(safe="@:", protected="/+")
|
||||
QUERY_QUOTER = _Quoter(safe="?/:@", protected="=+&;", qs=True, requote=False)
|
||||
QUERY_REQUOTER = _Quoter(safe="?/:@", protected="=+&;", qs=True)
|
||||
QUERY_PART_QUOTER = _Quoter(safe="?/:@", qs=True, requote=False)
|
||||
FRAGMENT_QUOTER = _Quoter(safe="?/:@", requote=False)
|
||||
FRAGMENT_REQUOTER = _Quoter(safe="?/:@")
|
||||
|
||||
UNQUOTER = _Unquoter()
|
||||
PATH_UNQUOTER = _Unquoter(unsafe="+")
|
||||
PATH_SAFE_UNQUOTER = _Unquoter(ignore="/%", unsafe="+")
|
||||
QS_UNQUOTER = _Unquoter(qs=True)
|
||||
UNQUOTER_PLUS = _Unquoter(plus=True) # to match urllib.parse.unquote_plus
|
||||
|
||||
|
||||
def human_quote(s: Union[str, None], unsafe: str) -> Union[str, None]:
|
||||
if not s:
|
||||
return s
|
||||
for c in "%" + unsafe:
|
||||
if c in s:
|
||||
s = s.replace(c, f"%{ord(c):02X}")
|
||||
if s.isprintable():
|
||||
return s
|
||||
return "".join(c if c.isprintable() else quote(c) for c in s)
|
Reference in New Issue
Block a user