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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file rutimeparser-1.1.1.tar.gz.

File metadata

  • Download URL: rutimeparser-1.1.1.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7

File hashes

Hashes for rutimeparser-1.1.1.tar.gz
Algorithm Hash digest
SHA256 df7f2c32ec8dddb8cf0543d9b97220a3b48d06053495cc7553dcbeaa2d580d79
MD5 a89c023bb6589ffbb8703a0eb9ffe4ef
BLAKE2b-256 71b4ac681c0d04f6dfa5ceb7a6accd58758cffbc5fa3742e7307bf7e5534913e

See more details on using hashes here.

File details

Details for the file rutimeparser-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: rutimeparser-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7

File hashes

Hashes for rutimeparser-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0b436e36cf1d236984d6a4b392fa311a8adffe797251ed2af5808ec4d3bdd43c
MD5 c191947a06923c1fd9f0378f0a185f3c
BLAKE2b-256 19005d8659103930c46374f0b42bba05bd671565de8dea132e2dc0734ed8b47b

See more details on using hashes here.

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