← Back
Editing: deprecated.cpython-38.pyc
U �O�X� � @ sd d Z ddlZddlZddlmZ ejdejd�jZejdejd�jZ e�d�jZ dd � Zd d� ZdS )z7A collection of functions deprecated in requests.utils.� N)�utilss! <meta.*?charset=["\']*(.+?)["\'>])�flagss+ <meta.*?content=["\']*;?charset=(.+?)["\'>]s$ ^<\?xml.*?encoding=["\']*(.+?)["\'>]c C sD t | �t| � t| � }dtj kr.dk r@n ndd� |D �}|S )a� Return encodings from given content string. .. code-block:: python import requests from requests_toolbelt.utils import deprecated r = requests.get(url) encodings = deprecated.get_encodings_from_content(r) :param content: bytestring to extract encodings from :type content: bytes :return: encodings detected in the provided content :rtype: list(str) )� r )� r c S s g | ]}|� d ��qS )�utf8)�decode)�.0�encoding� r �D/usr/lib/python3/dist-packages/requests_toolbelt/utils/deprecated.py� <listcomp>( s z.get_encodings_from_content.<locals>.<listcomp>)�find_charset�find_pragma�find_xml�sys�version_info)�content� encodingsr r r �get_encodings_from_content s �r c C s� t � }t�| j�}|rHzt| j|�W S tk rF |�|�� � Y nX t | j�}|D ]H}|�� }||krlqVzt| j|�W S tk r� |�|� Y qVX qV|r�zt| j|dd�W S t k r� Y nX | jS )aM Return the requested content back in unicode. This will first attempt to retrieve the encoding from the response headers. If that fails, it will use :func:`requests_toolbelt.utils.deprecated.get_encodings_from_content` to determine encodings from HTML elements. .. code-block:: python import requests from requests_toolbelt.utils import deprecated r = requests.get(url) text = deprecated.get_unicode_from_response(r) :param response: Response object to get unicode content from. :type response: requests.models.Response �replace)�errors)�setr Zget_encoding_from_headersZheaders�strr �UnicodeError�add�lowerr � TypeError�text)ZresponseZtried_encodingsr r Z _encodingr r r �get_unicode_from_response, s, r ) �__doc__�rer Zrequestsr �compile�I�findallr r r r r r r r r �<module> s � ��
Save File
Cancel