Metadata-Version: 2.1
Name: rutimeparser
Version: 1.1.1
Summary: Recognize date and time in russian text.
Home-Page: https://github.com/orsinium/rutimeparser
Author: Gram (@orsinium)
Author-email: master_fess@mail.ru
Requires-Python: >=2.7
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules


RuTimeParser
============

Данный модуль содержит базовый класс и упрощающие работу с ним функции для извлечения даты и времени из текста на русском языке.

Установка
---------

``sudo pip3 install rutimeparser``

Использование
-------------

Примеры ниже приведены для 2 апреля 2017 года.

Извлечение даты и времени:

.. code-block:: python

   >>> from rutimeparser import parse
   >>> parse('завтра')
   datetime.date(2017, 4, 3)
   >>> parse('завтра утром')
   datetime.datetime(2017, 4, 3, 9, 0)
   >>> parse('Напомни мне завтра утром составить список дел.')
   datetime.datetime(2017, 4, 3, 9, 0)

Извлечение текста, не относящегося к дате и времени:

.. code-block:: python

   >>> from rutimeparser import get_clear_text, get_last_clear_text
   >>> get_clear_text('Напомни мне завтра утром составить список дел.')
   'напомни мне составить список дел'
   >>> get_last_clear_text('Напомни мне завтра утром составить список дел.')
   'составить список дел'

Неявные ситуации
----------------


* ``утром`` - в 09:00
* ``днём`` - в 15:00
* ``вечером`` - в 21:00
* ``ночью`` - в 03:00
* ``на следующей неделе`` - на следующей неделе в понедельник.
* ``через неделю`` - ровно через 7 суток.
* ``через неделю утром`` - через 7 дней утром.
* ``в следующем месяце`` - 1 число следующего месяца.

Больше примеров в `tests.py <tests.py>`_

API reference
-------------

Параметры ``rutimeparser.parse``\ :


* ``words`` (str, list, tuple) -- Строка с текстом или список слов. Параметр является необязательным, т.к. может быть передан непосредственно в метод ``parse``.
* ``tz`` (str) -- Название часового пояса. Если не указано, возвращается наивное время.
* ``now`` (datetime.datetime) -- От какого момента считать текущее время
* ``allowed_results`` (list, tuple) -- Список объектов, которые могут быть возвращены методом ``parse``. Возможные значения -- datetime.datetime, datetime.date, datetime.time, None.
* ``default_time`` (datetime.time) -- Время по умолчанию. Используется только в том случае, если из текста удалось получить только date, но необходимо вернуть datetime. По умолчанию 09:00.
* ``default_datetime`` (datetime.datetime) -- Дата и время по умолчанию. Возвращается методом ``parse``\ , если в тексте не удалось найти значение, подходящее под ``allowed_results``. По умолчанию равен значению параметра ``now``.

TODO
----


* Перейти на ``pymorphy``
* Добавить поддержку AM/PM (например, "в два часа дня")
