File: //usr/lib/python3/dist-packages/oauthlib/oauth1/rfc5849/__pycache__/utils.cpython-310.pyc
o
���a5
� @ s` d Z ddlmZ ddlmZmZ dZdd� Zdd� Z d d
� Z
dd� Zd
d� Zdd� Z
dd� ZdS )zn
oauthlib.utils
~~~~~~~~~~~~~~
This module contains utility methods used by various parts of the OAuth
spec.
� N)�quote�unquote�>abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789c s � 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.
c s t | �} � | g|�R i |��S )N)�filter_oauth_params)�params�args�kwargs��target� �?/usr/lib/python3/dist-packages/oauthlib/oauth1/rfc5849/utils.py�wrapper s zfilter_params.<locals>.wrapper)�__doc__)r
r
r r r �
filter_params s r c C s6 dd� }t | t�rtt|t| �� ���S tt|| ��S )zARemoves all non oauth parameters from a dict or a list of params.c S s | d � d�S )Nr �oauth_)�
startswith)�kvr r r �<lambda>! s z%filter_oauth_params.<locals>.<lambda>)�
isinstance�dict�list�filter�items)r �is_oauthr r r r s
r c C s. t | t�stdd�| 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
�r"