Sindbad~EG File Manager
3
��c5
� @ s^ d Z ddljZddlmZmZ 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�unquoteZ>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 | �} � | f|�|�S )N)�filter_oauth_params)�params�args�kwargs)�target� �A/tmp/pip-build-_uu8ur7s/oauthlib/oauthlib/oauth1/rfc5849/utils.py�wrapper s zfilter_params.<locals>.wrapper)�__doc__)r r r )r r
�
filter_params s r
c C s: dd� }t | t�r(tt|t| j� ���S tt|| ��S dS )zARemoves all non oauth parameters from a dict or a list of params.c S s | d j d�S )Nr Zoauth_)�
startswith)�kvr r r
�<lambda>! s z%filter_oauth_params.<locals>.<lambda>N)�
isinstance�dict�list�filter�items)r Zis_oauthr r r
r s
r c C s. t | t�s"tddj| 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 c C s t | t�std��t| �S )Nz%Only unicode objects are unescapable.)r r r r )r r r r
�unescape8 s
r c C s
t j| �S )z1A unicode-safe version of urllib2.parse_keqv_list)�urllib2�parse_keqv_list)�lr r r
r >