File: //lib64/python3.6/email/__pycache__/utils.cpython-36.opt-1.pyc
3
�Qg�J  �               @   s�  d Z ddddddddd	d
ddd
ddgZddlZddlZddlZddlZddlZddlZddlZ	ddl
mZ ddl
mZ
 ddl
mZ ddl
mZmZmZ ddlmZ dZdZdZdZdZejd�Zejd�ZdZdadd� Zd d!� Zd"d#� Z d$d%� Z!dId'd�Z"d(d)� Z#d*d+� Z$d,Z%dd-�d.d�Z&d/d0� Z'd1d2� Z(d3d4� Z)ejd5ej*ej+B �Z,d6d7� Z-dJd9d�Z.dKd:d�Z/dLd;d	�Z0d<d� Z1dd-�d=d�Z2d>d� Z3d?d� Z4dMd@d�Z5ejdAej6�Z7dBd� Z8dNdEd�Z9dPdGdH�Z:dS )QzMiscellaneous utilities.�collapse_rfc2231_value�
decode_params�decode_rfc2231�encode_rfc2231�
formataddr�
formatdate�format_datetime�getaddresses�
make_msgid�	mktime_tz�	parseaddr�	parsedate�parsedate_tz�parsedate_to_datetime�unquote�    N)�quote)�AddressList)r
   )r   r
   �
_parsedate_tz)�Charsetz, � z
�'z[][\\()<>@,:;".]z[\\"]z/etc/python/email.cfgc               C   s   t dkrt� a t S )z5"Cache implementation for _cached_strict_addr_parsingN)�_cached_strict_addr_parsing�_use_strict_email_parsing_impl� r   r   �#/usr/lib64/python3.6/email/utils.py�_use_strict_email_parsing7   s    r   c              C   s�   t tjjd��} | rdS ytt�}W n tk
r8   Y nBX |�6 ddl}|jdd
d�}|j	|� |j
dddd�} W dQ R X | r�dS d	S )z]Returns True if strict email parsing is not disabled by
    config file or env variable.
    Z(PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSINGFr   N�#)Z
interpolationZcomment_prefixesZemail_addr_parsing)ZfallbackT)r   )�bool�os�environ�get�open�_EMAIL_CONFIG_FILE�FileNotFoundError�configparserZConfigParserZ	read_fileZ
getboolean)Zdisabled�filer$   �configr   r   r   r   ?   s"