Skip to main content

Recognize date and time in russian text.

Project description

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

Установка

sudo pip3 install rutimeparser

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

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

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

>>> 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)

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

>>> 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

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 (например, “в два часа дня”)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rutimeparser-1.1.1.tar.gz (13.9 kB view hashes)

Uploaded Source

Built Distribution

rutimeparser-1.1.1-py3-none-any.whl (16.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page