Online video hd

Смотреть домашний видео

Официальный сайт oriflame100 24/7/365

Смотреть видео бесплатно

antigluk 22.05.2010 10:17

СкриптыНапоминалка о событиях HolidaySH

Привет, Вилинуксоид!

На днях написал скрипт для оповещения разных событий: дней рождения, задач.
Сегодня сел и оформил по-человечески в гибку консольную программу для оповещения событий совершенно разного рода по шаблонам, которые можно добавлять.

И так, перед вами HolidaySH, которая написана на bash.

Основные преимущества:
- Работает с текстовыми файлами
- Можно редактировать шаблоны

Установка

Для debian-based дистрибутивов: holidaysh.deb
Остальным - придется раскидывать файлы руками, делаете чекоут:
$ svn checkout http://holidaysh.googlecode.com/svn/trunk/ holidaysh
В holidaysh удаляете папку DEBIAN и разбрасываете файлы по папкам, даете права на выполнение (ВАЖНО!: У файлов-шаблонов также должны быть права на выполнение)

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

Для работы с программой нужно в домашней папке создать файл ".holidayshrc" с таким текстом:
HOLIDAYSLIST="$HOME/holidays"
TEMPLATESDIR="$HOME/.holidaysh/templates"

HOLIDAYSLIST - путь к файлу со списком праздников.
TEMPLATESDIR - путь к папке с пользовательскими шаблонами - указывайте при желании писать шаблоны.

По умолчанию праздники HSH берет из файла /etc/holidaysh/holiday-list, а также всех файлов в папке /etc/holidaysh/holidays.d/
Шаблоны - в папке /etc/holidaysh/templates/

Файл праздников - текстовый файл с такой информацией: (разделено символами таба "\t")
1) Шаблон события
Обязательное поле.
В моём комплекте есть 5 шаблонов: b (birdthday - день рождения), i (info - просто событие с информацией), t (task - задача на целый день), tt (time task - задача на указанное время).

2) Дата
Дата, в формате DD/MM/YYYY, обязательное поле.

3) Далее идут параметры в замисимости от выбранного шаблона.
Например, для дня рождения далее идет одно поле с именем человека в родительном падеже.

Пример файла с праздниками: (разделители - табы)
b 22/05/1990 Теста Тестовича
b 24/02/1984 Эксперементыча
t 22/05/2010 написать статью на хабре
tt 22/05/2010 10:00 попробовать задачу со временем

При запуске без параметров программа выдает праздники на сегодняшнее число:
$ holidaysh
День рождения у Теста Тестовича, исполняется 20
Сегодня тебе нужно написать статью на хабре
Сегодня в 10:00 тебе нужно попробовать задачу со временем

Параметры:
-d задает дату
$ holidaysh -d 24/02/2010
День рождения у Эксперементыча, исполняется 26

-p задает дополнительные параметры, которые передаются напрямую к шаблонам. Разделяются запятой.
Например, -p speech должны обрабатывать все шаблоны и оптимизировать вывод для голосового оповещения.
Сейчас -p speech обрабатывает только tt - убирает знак двоеточия между часами и минутами.

$ holidaysh
День рождения у Теста Тестовича, исполняется 20
Сегодня тебе нужно написать статью на хабре
Сегодня в 10:00 тебе нужно попробовать задачу со временем

$ holidaysh -p speech
День рождения у Теста Тестовича, исполняется 20
Сегодня тебе нужно написать статью на хабре
Сегодня в 10 00 тебе нужно попробовать задачу со временем

Удачи! Если понадобится - в следующей статье напишу как делать шаблоны.


Тэги: bash HolidaySH Linux напоминание праздники события
+ 8 -
Похожие Поделиться

Iliander 22.05.2010 11:56 #
+ 0 -
гм… хороший скрипт, спасибо!
Хотя думаю, что ещё буду его под себя переписывать — пожалуй, уберу некую зависимость от системных директорий (свои скрипты храню в ~/bin, переносимость лучше и в случае проблем с системой не беспокоюсь за то, что что-то забыл), да и неплохо добавить возможность добавлять задачи прямо из скрипта.
А ещё (как предложили на хабре) и вправду можно jabber-бота оформить под это дело… :)
В общем, ещё есть, что поковырять, но начало и вправду хорошее!
Iliander 22.05.2010 12:00 #
+ 0 -
И да, кстати, забыл добавить, что у меня при приведенных Вами настройках в файле .holidayshrc скрипт ругался:
% cat ~/.holidayshrc
HOLIDAYSLIST="~/holidays"
TEMPLATESDIR="~/.holidaysh/templates"
% holidaysh
cat: ~/holidays: Нет такого файла или каталога

Заменил строку на
HOLIDAYSLIST="$HOME/holidays"

и всё заработало как надо.
antigluk 22.05.2010 12:03 #
+ 0 -
Хм, возможно. Пример писал прямо в редакторе, не проверял. Поменял на ваш.
karp 22.05.2010 13:48 #
+ 0 -
Для работы с программой нужно в домашней папке создать файл ".holidayshrc" с таким текстом:
1 HOLIDAYSLIST="$HOME/holidays"
2 TEMPLATESDIR="$HOME/.holidaysh/templates"


Почему бы не сделать в скрипте проверку на существование файла .holidayshrc. И если файл не существует, то создать его с дефолтным содержанием?
Тогда не будет проблем как в комментарии выше.
antigluk 22.05.2010 13:54 #
+ 1 -
Этого делать не обязательно, потому что если нет такого файла - то программа берет дефолтные настройки из /etc/holidaysh/*
Vzlom 22.05.2010 14:26 #
+ 1 -
Народ =) Есть ли желание допилить сие чудо, так что мама не горюй?
antigluk 22.05.2010 14:28 #
+ 1 -
У меня есть :)
Есть предложения?
Какие мои планы: несколько скриптов для быстрой интеграции с notifyosd, festival.
Vzlom 22.05.2010 15:21 #
+ 0 -
Синхронизацию с инетом хочу)
antigluk 22.05.2010 15:23 #
+ 0 -
Можно с гуглокалендарем сделать - не проблема с gcalcli
Vzlom 22.05.2010 20:35 #
+ 0 -
во вообще ништяк =)

Смотреть видео онлайн

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн