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: //usr/lib/python3/dist-packages/oauthlib/oauth2/rfc6749/__pycache__/utils.cpython-38.pyc
U

��I]�	�@s�dZddlmZmZddlZddlZddlmZmZzddl	m
Z
Wn ek
rdddlm
Z
YnXzddl
m
Z
Wn ek
r�ddlm
Z
YnXdd�Zd	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�ZdS)zp
oauthlib.utils
~~~~~~~~~~~~~~

This module contains utility methods used by various parts of the OAuth 2 spec.
�)�absolute_import�unicode_literalsN)�unicode_type�	urldecode)�quote)�urlparsecCsJt|t�s|dkr|St|tttf�r:d�dd�|D��Std|��dS)z5Convert a list of scopes to a space separated string.N� cSsg|]}t|��qS��r��.0�sr	r	�?/usr/lib/python3/dist-packages/oauthlib/oauth2/rfc6749/utils.py�
<listcomp>sz!list_to_scope.<locals>.<listcomp>z8Invalid scope (%s), must be string, tuple, set, or list.)�
isinstancer�set�tuple�list�join�
ValueError��scoper	r	r�
list_to_scopes
rcCs<t|tttf�rdd�|D�S|dkr*dS|���d�SdS)z5Convert a space separated string to a list of scopes.cSsg|]}t|��qSr	r
rr	r	rr&sz!scope_to_list.<locals>.<listcomp>Nr)rrrr�strip�splitrr	r	r�
scope_to_list#s
rcCs.ttt|�j��}d|kr*t|d�|d<|S)Nr)�dictrr�queryr)�uriZparamsr	r	r�params_from_uri-src	CsNddd�}t|�\}}}}}}d|kr8|�dd�\}}n|�|���}||fS)zuExtract hostname and port from URI.

    Will use default port for HTTP and HTTPS if none is present in the URI.
    Z80Z443)ZHTTPZHTTPS�:�)rr�get�upper)	rZ
default_portsZschZnetloc�pathZparrZfraZportr	r	r�
host_from_uri4s�r%cCs$t|t�std��t|�d�dd�S)ztEscape a string in an OAuth-compatible fashion.

    TODO: verify whether this can in fact be used for OAuth 2

    z#Only unicode objects are escapable.zutf-8�~)Zsafe)rrrr�encode)�ur	r	r�escapeGs
r)cCs8tj��|}|j|j|jdddd}t|�S)z9Generate a age parameter for MAC authentication draft 00.�ii@B)�datetimeZnowZmicrosecondsZsecondsZdaysr)Z
issue_timeZtdZager	r	r�generate_ageRs��r,cCstj�d�rdS|���d�S)zCheck if the uri is over ssl.ZOAUTHLIB_INSECURE_TRANSPORTTzhttps://)�os�environr"�lower�
startswith)rr	r	r�is_secure_transportZsr1)�__doc__Z
__future__rrr+r-Zoauthlib.commonrrZurllibr�ImportErrorZurllib.parserrrrr%r)r,r1r	r	r	r�<module>s&