Скрипты — Напоминалка о событиях HolidaySH
Привет, Вилинуксоид!
На днях написал скрипт для оповещения разных событий: дней рождения, задач.
Сегодня сел и оформил по-человечески в гибку консольную программу для оповещения событий совершенно разного рода по шаблонам, которые можно добавлять.
И так, перед вами HolidaySH, которая написана на bash.
Основные преимущества:
- Работает с текстовыми файлами
- Можно редактировать шаблоны
Для debian-based дистрибутивов: holidaysh.deb
Остальным - придется раскидывать файлы руками, делаете чекоут:
$ svn checkout http://holidaysh.googlecode.com/svn/trunk/ holidaysh
В holidaysh удаляете папку DEBIAN и разбрасываете файлы по папкам, даете права на выполнение (ВАЖНО!: У файлов-шаблонов также должны быть права на выполнение)
Для работы с программой нужно в домашней папке создать файл ".holidayshrc" с таким текстом:
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) Далее идут параметры в замисимости от выбранного шаблона.
Например, для дня рождения далее идет одно поле с именем человека в родительном падеже.
Пример файла с праздниками: (разделители - табы)
При запуске без параметров программа выдает праздники на сегодняшнее число:
$ 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 тебе нужно попробовать задачу со временем
Удачи! Если понадобится - в следующей статье напишу как делать шаблоны.
На днях написал скрипт для оповещения разных событий: дней рождения, задач.
Сегодня сел и оформил по-человечески в гибку консольную программу для оповещения событий совершенно разного рода по шаблонам, которые можно добавлять.
И так, перед вами HolidaySH, которая написана на bash.
Основные преимущества:
- Работает с текстовыми файлами
- Можно редактировать шаблоны
Установка
Для debian-based дистрибутивов: holidaysh.deb
Остальным - придется раскидывать файлы руками, делаете чекоут:
$ svn checkout http://holidaysh.googlecode.com/svn/trunk/ holidaysh
В holidaysh удаляете папку DEBIAN и разбрасываете файлы по папкам, даете права на выполнение (ВАЖНО!: У файлов-шаблонов также должны быть права на выполнение)
Использование
Для работы с программой нужно в домашней папке создать файл ".holidayshrc" с таким текстом:
1 2 |
HOLIDAYSLIST="$HOME/holidays" |
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) Далее идут параметры в замисимости от выбранного шаблона.
Например, для дня рождения далее идет одно поле с именем человека в родительном падеже.
Пример файла с праздниками: (разделители - табы)
1 2 3 4 |
b 22/05/1990 Теста Тестовича |
При запуске без параметров программа выдает праздники на сегодняшнее число:
$ 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 тебе нужно попробовать задачу со временем
Удачи! Если понадобится - в следующей статье напишу как делать шаблоны.