File: //opt/alt/python37/lib/python3.7/site-packages/charset_normalizer/__pycache__/utils.cpython-37.pyc
B
<�;g\$ � @ s, yd dl ZW n ek
r( d dlZY nX d dlZd dlZd dlmZ d dlmZ d dl m
Z
d dlmZ d dl
mZmZmZmZmZ d dlmZ dd lmZmZmZmZmZmZ e
ed
�eed�dd
��Ze
ed
�eed�dd��Ze
ed
�eee d�dd��Z e
ed
�eed�dd��Z!eed�dd�Z"e
ed
�eed�dd��Z#e
ed
�eed�dd��Z$e
ed
�eed�dd��Z%e
ed
�eed�dd��Z&e
ed
�eed�dd��Z'eed�d d!�Z(e
ed
�eed�d"d#��Z)e
ed
�eed�d$d%��Z*e
ed
�eed�d&d'��Z+e
ed
�eed�d(d)��Z,e
ed
�eed�d*d+��Z-e
e.e�d
�eed,�d-d.��Z/dNe0e1ee d0�d1d2�Z2e
d3d
�eed4�d5d6��Z3e0eee e0f d7�d8d9�Z4eed:�d;d<�Z5dOeeed>�d?d@�Z6eee dA�dBdC�Z7eee8dD�dEdF�Z9eeedD�dGdH�Z:dIej;dJfee1eddK�dLdM�Z<dS )P� N)�IncrementalDecoder)�aliases)� lru_cache)�findall)�List�Optional�Set�Tuple�Union)�MultibyteIncrementalDecoder� )�ENCODING_MARKS�IANA_SUPPORTED_SIMILAR�RE_POSSIBLE_ENCODING_INDICATION�UNICODE_RANGES_COMBINED�UNICODE_SECONDARY_RANGE_KEYWORD�UTF8_MAXIMAL_ALLOCATION)�maxsize)� character�returnc C sT yt �| �}W n tk
r" dS X d|kpRd|kpRd|kpRd|kpRd|kpRd|kS )NFz
WITH GRAVEz
WITH ACUTEzWITH CEDILLAzWITH DIAERESISzWITH CIRCUMFLEXz
WITH TILDE)�unicodedata�name�
ValueError)r �description� r �I/opt/alt/python37/lib/python3.7/site-packages/charset_normalizer/utils.py�is_accentuated s r c C s. t �| �}|s| S |�d�}tt|d d��S )N� r � )r �
decomposition�split�chr�int)r Z
decomposed�codesr r r �
remove_accent* s
r$ c C s. t | �}x t�� D ]\}}||kr|S qW dS )zK
Retrieve the Unicode range official name from a single character.
N)�ordr �items)r Z
character_ord�
range_nameZ ord_ranger r r �
unicode_range5 s
r( c C s, yt �| �}W n tk
r" dS X d|kS )NFZLATIN)r r r )r r r r r �is_latinC s
r) c C s( y| � d� W n tk
r" dS X dS )N�asciiFT)�encode�UnicodeEncodeError)r r r r �is_asciiL s
r- c C s2 t �| �}d|krdS t| �}|d kr*dS d|kS )N�PTFZPunctuation)r �categoryr( )r �character_category�character_ranger r r �is_punctuationT s
r2 c C s: t �| �}d|ksd|krdS t| �}|d kr2dS d|kS )N�S�NTFZForms)r r/ r( )r r0 r1 r r r � is_symbolc s
r5 c C s t | �}|d krdS d|kS )NFZ Emoticons)r( )r r1 r r r �is_emoticonr s r6 c C s&