Как стать автором
Обновить

Комментарии 62

случаем не на play написано?
Точно )
favicon выдал)))

кстати а как сложно его было запустить на GAE?
я когда то давно пробовал, и было куча ошибок((( в итоге кое как завёл…
проект play+maven module+gae module. Были странные ошибки с тем что play не понимал как собрать war. Но после переустановки все начало работать правильно и просто.
Проблема, например, с такой фразой «заплатить за квартиру за апрель 23 мая 2011», а вот «заплатить за квартиру за апрель утром 23 мая 2011» отлично работает. Так что это считайте только баги поправить.
Поправим. Он путается когда несколько дат в запросе. Можно написать эвристики выбора самой правдоподобной или же требовать задавать другие даты в кавычках.
завтра сдать отчет за прошлый месяц

Название: сдать отчет за
Старт: 2011-03-23T00:00
Конец: 2011-03-24T00:00
На весь день: true
Место:
Повтор: Once
В предыдущем комментарии я сказал про больное место — не понимает когда в запросе несколько дат. В данном случае «завтра» и «прошлый месяц». Он понял это так. в прошлом месяце, завтра = — 1 месяц +1 день
уже работает )
Не нашел или не внимательно читал. А есть повторяющиеся события?
Да, например:
ходить на зарядку каждую пятницу --> Повтор: Week
отменить день рождения в эту субботу --> Повтор: Year
Почему во втором примере повтор? В эту субботу отменить, в следующие года — нет :)
ну таких тонкостей он конечно не понимает. но если видит какой то признак праздника(день, годовщина) ставит частоту год.
В идеале не хватает привязки к рабочим дням «через пять рабочих дней уйти в отпуск»
Ну и к выходным «В выходные сходить в зоопарк» правда спорный вопрос в какой из выходных.
Да планируется поддержка таких фраз: в начале недели, в середине мая, в выходные и т.п. создавая при этом интервал или наиболее общепринятую дату. например в середине мая = 15 мая
посмотреть на звезды сегодня в три ночи

Название: посмотреть на звезды
Старт: 2011-04-22T03:00
Конец: 2011-04-22T04:00
На весь день: false
Место:
Повтор: Once
А тут наверное вы сами не правы, сутки начинаются с 00:00. Так что правильный запрос звучал бы так: Посмотреть на звезды завтра в три ночи
Но ведь если вы произносите словосочетание «сегодня ночью», то понимается под этим «в период с 00.00 до 8.00 завтрашних суток», или я что-то не понимаю в целях написания парсера?
Ну да для некоторых вещей есть здравый смысл, который надо закодировать, сейчас все воспринимается парсером «буквально». Как например чаще люди говорят о будущем, или в следующую пятницу — может значить след неделя пятница или текущая и т.п. — думаю это можно учесть.
следующая пятница — на следующей неделе. А на этой неделе — эта пятница.
У каждого человека разное восприятие подобного выражения, для меня более логично будет звучать «Сегодня ночью я хорошо выспался, а завтра меня ждет бессонная ночь» и не всегда могу понять, какая ночь была для собеседника вчерашней
«Сегодня ночью я хорошо высплюсь» Вы тоже воспримите как про прошедшую ночь?
Тут зависит от действия. По фразе «сегодня ночью» сказать ничего нельзя. Но по времени «выспался, высплюсь» можно — но это не очень простая задача. В целях же календаря как правило все говорится о будущем.
В контексте планиирования будущего — именно о будущем. Так что «сегодня ночью» в этом контексте интерпретируется однозначно — с 20 до 7, вокруг ближайшей полуночи ;)
пить сок ежедневно — Can't parse
А вообще — очень круто)
А много всего используется из специфичного готового джавовского или ещё какого?

Мне б такая штука не помешала б под Oracle (там, правда, джава то встроена какая-то) и/или Dlephi %)
Да вроде нет JDK + самописная библиотека + стандартные библиотеки jakarta commons, google collections.
А ещё б обратное преобразование! ;)
Обратного не существует, неоднозначно, множество текстовых представлений переходит в один long.
Обратное на самом деле проще и неоднократно делалось — это формирование человекочитаемоой строки для даты и периодичности, с учётом опорной (текущей) даты.

Например:
* завтра в три часа дня
* через два часа
* по пятницам, в полдень
* в прошлый четверг
* в конце прошлого квартала
А ну это легко — это как задача дать задачу наибольшими купюрами, только сказать дату самыми простыми словами(например завтра проще чем 27 апреля). Могу сделать только не знаю зачем в моей задаче оно )
Это скорее гугл-календарь так должен сообщать про предстоящие задачи.
В некоем TODO-листе…
пукнуть через 3 секунды
Can't parse


Жаль, придется терпеть.
За 5 дней до начала мая — Can't parse :(
«поцеловать лену на день святого валентина» — не парсировал ))
праздники как даты он не воспринимает. Но если добавить 14 февраля он понял бы что это событие надо повторять каждый год.
а было бы неплохо. ессесно такие праздники как новый год или день святого валентина знают все. но порой бывает надо поставить напоминание, например, на день учителя, а когда этот день я уже и не помню. вот как-то так
В гугл-календарях есть календари праздников. Можно файлик календаря как базу использовать, вроде он XML и не сильно крупный. Только вот с падежами бяда…
работа 2 через 2
На гитхабе, кстати, есть русский форк Chronic'a, форк fl00r'a если не ошибаюсь. Но занятная штука, спасибо:)
а можно ссылку?
спасибо, возьму и там тесты
Вспоминается stikkit
НЛО прилетело и опубликовало эту надпись здесь
вы наткнулись на самый глупый баг — «каждый день ходить на работу в 8:00» — уже работает правильно
«После обеда» понимает; полдень, полночь и прочий выпендреж а-ля полвторого и четверть пятого — нет.
не понимает даже ежедневно/еженедельно: «делать ежедневно зарядку в 8:00»

Я понял это так:
Название: делать ежедневно зарядку
Старт: 2011-04-24T08:00
Конец: 2011-04-24T09:00
На весь день: false
Место:
Повтор: Once
Увы, но мы учтем. пока можно писать каждый день/неделю/год/месяц.
уже понимает
Отлично.
Задачки посложнее (и бестолковей): круглый год, поза-позавчера, «на следующей неделе делать зарядку в 8.00» (начать делать — совсем другое), ну и можно еще долго придумывать по остаточному принципу :)
«на следующей неделе в 8.00» — это типа в понедельник? неоднозначненько, однако.
В тот же день/всю неделю — это из контекста, но можно остановиться на одном.

Есть, кстати, неординарные личности, которые используют «на будущей неделе» :) еще.

Вообще, вещь хорошая — у меня у самого разработка старая где-то валяется, все руки не дойдут ее привести в порядок.
Прекрасная идея.
Но лично мне кажется, что можно приписать сюда же функции будильника или ежедневной напоминалки.
(От души желаю удачи вашему проекту)

Не правильно понял: Хочу вставать в 5 утра

Название: Хочу вставать
Старт: 2011-04-24T05:00
Конец: 2011-04-24T06:00
На весь день: false
Место:
Повтор: Once
проплатить домены до 10 числа

Название: проплатить домены до
Старт: 2010-04-01T00:00
Конец: 2010-04-02T00:00
На весь день: true
Место:
Повтор: Once


хотелось бы чтобы было

Название: проплатить домены
Старт: 2010-04-25T00:00
Конец: 2010-05-09T00:00
На весь день: true
Место:
Повтор: Once
Теперь так:
Старт: 2011-04-10T00:00
Конец: 2011-04-11T00:00

за сколько напомнить уже можно отдельно настроить в google calendarе
GUI очень красивый, но понимает текст он значительно хуже. Из тестов указанных в моих примерах он проходит 4 из 27 — главным образом он не понимает числа словами, очень редко склеивает время и дату, и не понимает контекст аля 5 вечера, 5 утра.
Большинство из указанных проблем решил, вот что теперь проходит:
завтра сдать отчет за прошлый месяц //понимает что за ДАТА это не дата события, также можно использовать ковычки
завтра сдать отчет за 15 января
сдать отчет за января 8 декабря //понимает что за январь это часть имени
За 5 дней до начала мая
делать ежедневно зарядку в 8:00 //ежегодно, ежемесячно и т.д.
купить билеты в начале января //понимает начале, середине, конце
купить билеты в выходные
Здравствуйте, проект живой? Можно ли им пользоваться в своих проектах?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации