Данный модуль содержит базовый класс и упрощающие работу с ним функции для извлечения даты и времени из текста на русском языке.
Установка
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 (например, “в два часа дня”)
Release files for rutimeparser 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rutimeparser-1.1.1.tar.gz | 13.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rutimeparser-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.0 kB
Release files / rutimeparser-1.1.1.tar.gz
| Download URL | rutimeparser-1.1.1.tar.gz |
|---|---|
| Size | 13.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
df7f2c32ec8dddb8cf0543d9b97220a3b48d06053495cc7553dcbeaa2d580d79
|
|
BLAKE2b-256 checksum How to use checksums |
71b4ac681c0d04f6dfa5ceb7a6accd58758cffbc5fa3742e7307bf7e5534913e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / rutimeparser-1.1.1-py3-none-any.whl
| Download URL | rutimeparser-1.1.1-py3-none-any.whl |
|---|---|
| Size | 16.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0b436e36cf1d236984d6a4b392fa311a8adffe797251ed2af5808ec4d3bdd43c
|
|
BLAKE2b-256 checksum How to use checksums |
19005d8659103930c46374f0b42bba05bd671565de8dea132e2dc0734ed8b47b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|