name : utils.cpython-39.pyc
a

\��`5
�@s`dZddlmZddlmZmZdZdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�ZdS)zn
oauthlib.utils
~~~~~~~~~~~~~~

This module contains utility methods used by various parts of the OAuth
spec.
�N)�quote�unquoteZ>abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789cs�fdd�}�j|_|S)z�Decorator which filters params to remove non-oauth_* parameters

    Assumes the decorated method takes a params dict or list of tuples as its
    first argument.
    cst|�}�|g|�Ri|��S)N)�filter_oauth_params)�params�args�kwargs��target��A/usr/lib/python3.9/site-packages/oauthlib/oauth1/rfc5849/utils.py�wrapperszfilter_params.<locals>.wrapper)�__doc__)r	rr
rr�
filter_paramssrcCs:dd�}t|t�r(tt|t|�����Stt||��SdS)zARemoves all non oauth parameters from a dict or a list of params.cSs|d�d�S)NrZoauth_)�
startswith)Zkvr
r
r�<lambda>!�z%filter_oauth_params.<locals>.<lambda>N)�
isinstance�dict�list�filter�items)rZis_oauthr
r
rrs
rcCs.t|t�s"tdd�|t|����t|dd�S)z�Escape a unicode string in an OAuth-compatible fashion.

    Per `section 3.6`_ of the spec.

    .. _`section 3.6`: https://tools.ietf.org/html/rfc5849#section-3.6

    z$Only unicode objects are escapable. zGot {!r} of type {}.�~)�safe)r�str�
ValueError�format�typer��ur
r
r�escape(s

�rcCst|t�std��t|�S)Nz%Only unicode objects are unescapable.)rrrrrr
r
r�unescape8s
r cCs
t�|�S)z1A unicode-safe version of urllib2.parse_keqv_list)�urllib2�parse_keqv_list)�lr
r
rr">sr"cCs
t�|�S)z1A unicode-safe version of urllib2.parse_http_list)r!�parse_http_listrr
r
rr$Dsr$c	Csld��}|dt|�����|�r`t|t|�d��}ztt|����WSttfy^Yn0td��dS)z;Parse an OAuth authorization header into a list of 2-tupleszOAuth NzMalformed authorization header)	�lower�lenrr$rr"r�
IndexErrorr)Zauthorization_headerZauth_schemerr
r
r�parse_authorization_headerJsr()r
Zurllib.requestZrequestr!Zoauthlib.commonrrZUNICODE_ASCII_CHARACTER_SETrrrr r"r$r(r
r
r
r�<module>s	

© 2025 Cubjrnet7