Gcalcli - работа с Google Calendar в консоли



| Следующая

Google во истину сделал много весьма хороших сервисов: gmail, reader и конечно же Google Calendar. Без последнего лично я жить не могу. С моей то дырявой памятью ;) Но сейчас не об этом. Довольно долго я искал способ удобно управлять своим календарём. Пробовал и через evolution, и через Thunderbird, но в итоге просто вернулся к использованию через браузер, но прочитав заметку о gcalcli, сразу решил попробовать ею воспользоваться, и остался ею очень доволен.

Gcalcli (Google Calendar Command Line Interface) - это небольшая утилита написанная на Python, предназначенная для работы с Google calendar из консоли. В общем это понятно и из названия :) Не берусь утверждать что утилита позволяет использовать все возможности Google Calendar, но тот функционал что я использую присутствует.

Установка, базовая настройка

Я сказать по правде, довольно давно обленился, и почти на всех своих компьютерах что есть у меня, использую deb based дистрибутивы, поэтому у меня утилита оказалась в репозитории:

sudo aptitude install gcalcli

Далее нам надо создать файл конфигурации \~/.gcalclirc

[gcalcli]
user: username
pw: userpass

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

  • cals: [type] - Используемый календарь
  • details: [true |false] - Показывать или нет детали события
  • ignore-started: [true |false] - Игнорировать (не выводить) начатые события
  • width: [width] - Количество символов для каждой колонки. По умолчанию - 10
  • cal-owner-color: [color]
  • cal-editor-color: [color]
  • cal-contributor-color: [color]
  • cal-read-color: [color]
  • cal-freebusy-color: [color]
  • date-color: [color]
  • border-color: [color]

То что не подписано - цвета. Принимают следующие параметры: default, black, brightblack, red, brightred, green, brightgreen, yellow, brightyellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan, white, brightwhite.

Основной функционал

Чтобы посмотреть календарь на неделю, используется параметр calw (Calendar for Week):

gcalcli calw

 

Gcalcli отображение недели

Gcalcli отображение недели

 

Можно указать количество недель для показа:

gcalcli calw 3

 

GCalcli отображение расписания на 3 недели

GCalcli отображение расписания на 3 недели

 

Можно вывести список всех дел на ближайшие пять дней:

gcalcli agenda

 

gcalcli agenda

gcalcli agenda

 

И конечно же можно показать календарь на месяц:

gcalcli calm
# можно указать месяц. Например september
gcalcli september

 

gcalcli agenda

gcalcli agenda

 

Для добавления в календарь используется параметр quick:

gcalcli quick '5pm 12/8/2010 Meeting with old friend - Sasha'  
# Можно так же добавлять так  
gcalcli quick 'Buy some eat 10am tomorrow'

К сожалению, это всё что можно указать. Т.е. нельзя указать место встречи, детали или повторение события. Так же нельзя из gcalcli редактировать существующие события. Надеюсь, такой функционал будет добавлен со временем.

Поиск:

gcalcli search 'Test search'

Показать все существующие календари:

gcalcli list

Несколько полезностей

Напоминания о событиях

Постоянно держать консоль с выводом gcalcli жутко неудобно. Да и всё равно можно забыть о чём либо. Чтобы такого не происходило, в gcalcli есть параметр "remind".

gcalcli remind

Данная команда укажет gcalcli показать всплывающее окно с уведомлением если в данный момент начинается событие. Параметру "remind" можно указать время, за которое предупреждать. Например команда

gcalcli remind 10

Покажет всплывающее окно если ближайшие 10 минут есть какое либо событие. Для удобства стоит поместить это в cron:

crontab -e  
*/10 * * * * gcalcli remind

Использование вывода программы

Так как вывод программы не интерактивный, то его можно использовать в своих целях. Например для вывода напоминаний в screen, или conky.

Например для conky это будет выглядеть так:

# Выводит список на ближайшие пять дней
${execi 300 gcalcli --nc agenda}
# Или на три недели
${execi 300 gcalcli --nc calw 3}

Для вывода в screen задача чуть усложняется. Нужно добавить в cron выпонение скрипта, с перенаправлением вывода во временный файл. Думаю для тех кто использует screen, сделать это самостоятельно не составит труда :)

Программа конечно не идеальна, но для себя я ей нашёл применение. Из недостатков можно выделить лишь то, что нужно знать немного английский язык. Хотя бы название месяцев и дней :)

Сайт - http://code.google.com/p/gcalcli/