Первый скрипт - ifmo_shedule.sh - будучи запущенным в фоне, каждый день скачивает расписание с сайта ИТМО. Это расписание легко получить в удобочитаемой форме, подставив к параметру gr в GET-запросе номер своей группы:
http://www.ifmo.ru/file/schedule.php?gr=3101Скачанное расписание преобразуется в псевдотекстовый формат при помощи w3m и сохраняется в дебрях /tmp/.
Оттуда, второй скрипт - ifmo_shedule_curr.sh, достает тот кусок расписания, который отвечает за текущий день. Алгоритм работы прост - узнаются текущий и следующий дни недели (в русской локали), сопоставляются с днями недели в расписании и выводятся строки, расположенные между соответствующими днями недели. Будет работать до тех пор, пока не изменятся названия дней недели в русском языке.
Выводом расписания на рабочий стол заведует conky. Вот часть конфига, отвечающая за вывод расписания на экран:
Если файл расписания будет отсутствовать и новый файл будет еще загружаться, то некоторое время (пока conky не обновится) можно будет наблюдать следующую надпись на экране вместо расписания:
Если же все на месте, то наше расписание будет выглядеть примерно вот так:
Привожу код скриптов:
- ifmo_shedule.sh
- ifmo_shedule_curr.sh