HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/oauthlib/oauth1/rfc5849/__pycache__/utils.cpython-38.pyc
U

��I]�
�@s�dZddlmZmZddlmZmZmZzddlZWn e	k
rTddl
mZYnXdZdd�Z
dd	�Zd
d�Zdd
�Zdd�Zdd�Zdd�ZdS)zn
oauthlib.utils
~~~~~~~~~~~~~~

This module contains utility methods used by various parts of the OAuth
spec.
�)�absolute_import�unicode_literals)�quote�unicode_type�unquoteNZ>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|�}�|f|�|�S)N)�filter_oauth_params)�params�args�kwargs��target��?/usr/lib/python3/dist-packages/oauthlib/oauth1/rfc5849/utils.py�wrapperszfilter_params.<locals>.wrapper)�__doc__)rrr
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
rr&s
rcCs.t|t�s"tdd|t|�f��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 %s.�~)Zsafe)rr�
ValueError�typer��ur
r
r�escape/s

�rcCst|t�std��t|�S)Nz%Only unicode objects are unescapable.)rrrrrr
r
r�unescape?s
r cCs
t�|�S)z1A unicode-safe version of urllib2.parse_keqv_list)�urllib2�parse_keqv_list)�lr
r
rr"Esr"cCs
t�|�S)z1A unicode-safe version of urllib2.parse_http_list)r!�parse_http_listrr
r
rr$Ksr$c	Csnd��}|dt|�����|�rbt|t|�d��}ztt|����WSttfk
r`YnXtd��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_headerQsr()rZ
__future__rrZoauthlib.commonrrrr!�ImportErrorZurllib.requestZrequestZUNICODE_ASCII_CHARACTER_SETrrrr r"r$r(r
r
r
r�<module>s