Current File : //proc/self/root/usr/lib/python3/dist-packages/dateutil/parser/__pycache__/_parser.cpython-312.pyc |
�
ӝ�`�� � �~ � d Z ddlmZ ddlZddlZddlZddlZddlZddlm Z ddl
mZ ddlZddlm
Z
mZ ddlmZ ddlmZ d d
lmZ d dlmZ g d�Z G d
� de� Z G d� de� Z G d� de� Z G d� de� Z G d� de� Z e� Zdd�Z G d� de� Z e� Z d� Z! G d� de"� Z# G d� de$� Z%y) a�
This module offers a generic date/time string parser which is able to parse
most known formats to represent a date and/or time.
This module attempts to be forgiving with regards to unlikely input formats,
returning a datetime object even for dates which are ambiguous. If an element
of a date/time stamp is omitted, the following rules are applied:
- If AM or PM is left unspecified, a 24-hour clock is assumed, however, an hour
on a 12-hour clock (``0 <= hour <= 12``) *must* be specified if AM or PM is
specified.
- If a time zone is omitted, a timezone-naive datetime is returned.
If any other elements are missing, they are taken from the
:class:`datetime.datetime` object passed to the parameter ``default``. If this
results in a day number exceeding the valid number of days per month, the
value falls back to the end of the month.
Additional resources about date/time string formats can be found below:
- `A summary of the international standard date and time notation
<https://www.cl.cam.ac.uk/~mgk25/iso-time.html>`_
- `W3C Date and Time Formats <https://www.w3.org/TR/NOTE-datetime>`_
- `Time Formats (Planetary Rings Node) <https://pds-rings.seti.org:443/tools/time_formats.html>`_
- `CPAN ParseDate module
<https://metacpan.org/pod/release/MUIR/Time-modules-2013.0912/lib/Time/ParseDate.pm>`_
- `Java SimpleDateFormat Class
<https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html>`_
� )�unicode_literalsN)�
monthrange)�StringIO)�
integer_types� text_type)�Decimal)�warn� )�
relativedelta)�tz)�parse�
parserinfo�ParserErrorc � � e Zd Z ej d� Zd� Zd� Zd� Zd� Z d� Z
ed� � Zed� � Z
ed � � Zed
� � Zy)�_timelexz([.,])c �8 � t |t t f� r|j � }t |t � rt |� }n<t
|dd � �/t dj |j j �� � �|| _ g | _ g | _
d| _ y )N�readz8Parser must be a string or character stream, not {itype})�itypeF)�
isinstance�bytes� bytearray�decoder r �getattr� TypeError�format� __class__�__name__�instream� charstack�
tokenstack�eof)�selfr s �9/usr/lib/python3/dist-packages/dateutil/parser/_parser.py�__init__z_timelex.__init__>