File: //lib/python3.6/site-packages/S3/__pycache__/BaseUtils.cpython-36.pyc
3
�9pe�( � / @ sN d dl mZmZ d dlZd dlZd dlZd dlZd dlmZ d dl m
Z
d dlmZm
Z
mZ d dlZd dljjZddlmZ yd dlZW n4 ek
r� ejjd� ejj� eje� Y nX yd d lmZ W n ek
r� d d l mZ Y nX ye!Z!W n e"k
�r e#Z!Y nX g Z$eZ%e$j&d
� y
e
� W n\ e'k
�r� Z( z>ye
dd� ej)e
dd�Z
W n e*k
�rz e(�Y nX W Y ddZ([(X nX e$j&d
� ej+d�Z,ej+dej-�Z.dd� Z/e$j&d� dd� Z0e$j&d� dd� Z1e$j&d� dd� Z2e$j&d� dd� Z3e$j&d� d?dd�Z4e$j&d� d@dd�Z5e$j&d� dAd d!�Z6e$j&d!� dBd"d#�Z7e$j&d#� dCd%d&�Z8e$j&d&� dDd'd(�Z9e$j&d(� dEd)d*�Z:e$j&d*� d+d,� Z;e$j&d,� d-d.� Z<e$j&d.� d/d0� Z=e$j&d0� d1d2� Z>e$j&d2� d3d4� Z?e$j&d4� d5d6� Z@e$j&d6� d7d8� ZAe$j&d8� d9d:� ZBe$j&d:� d;d<� ZCe$j&d<� d=d>� ZDe$j&d>� dS )F� )�absolute_import�divisionN)�timegm)�md5)�debug�warning�error� )� EX_OSFILEa*
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ImportError trying to import dateutil.parser.
Please install the python dateutil module:
$ sudo apt-get install python-dateutil
or
$ sudo yum install python-dateutil
or
$ pip install python-dateutil
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
)�quote�s3pathF)Zusedforsecurityr z\.[0-9]*(?:[Z\-\+]*?)s9 ^(<?[^>]+?>\s*|\s*)(<\w+) xmlns=['"](https?://[^'"]+)['"]c C s t jd| �} tjj| dd�S )Nz.000T)�fuzzy)�RE_S3_DATESTRING�sub�dateutil�parser�parse)�date� r �/usr/lib/python3.6/BaseUtils.py�dateS3toPythonX s r c C s t t| �j� �S )N)r r �utctimetuple)r r r r �dateS3toUnix_ s r c C s t jj| dd�S )zW
Convert a string formatted like '2020-06-27T15:56:34Z' into a python datetime
T)r
)r r r )r r r r �dateRFC822toPythone s r c C s t t| �j� �S )N)r r r )r r r r �dateRFC822toUnixm s r c C s t jj| dd�}|jd�S )NT)r
z%Y-%m-%d %H:%M)r r r Zstrftime)Zs3timestampZdate_objr r r �formatDateTimer s r �UTF-8�replacec C sV t | �tkr| S |s$td| |f � yt| ||�S tk
rP td| ��Y nX dS )z<
Convert 'string' to Unicode or raise an exception.
zUnicodising %r using %sz Conversion to unicode failed: %rN)�type�unicoder �UnicodeDecodeError)�string�encoding�errors�silentr r r �base_unicodise{ s r% c C sV t | �tkr| S |s$td| |f � y| j||�S tk
rP td| ��Y nX dS )z�
Convert unicode 'string' to <type str>, by default replacing
all invalid characters with '?' or raise an exception.
zDeUnicodising %r using %sz"Conversion from unicode failed: %rN)r r r �encode�UnicodeEncodeError)r! r"