Облачная синхронизация

Как просматривать задачи и события из файлов .ics, синхронизированных с облачными хранилищами

Cata может просматривать календари из облачных сервисов, таких как календарь Google, Nextcloud и т. д. По сути, вы можете просматривать любой файл .ics, опубликованный в Интернете или сохраненный на вашем компьютере. Для этого вам необходимо либо указать URL-адрес вашего файла .ics, либо синхронизировать файлы .ics с вашим компьютером и указать путь к одному файлу или папке с файлами .ics. Ниже приведены несколько примеров:

Получение персональных URL-адресов файлов .ics (календарь Google)

Самый простой способ просматривать события из календаря Google — получить персональный URL-адрес. Откройте календарь Google в браузере, в разделе «Мои календари» нажмите три точки > «Настройки и обмен» > «Скопировать секретный адрес в формате iCal». Это должно выглядеть так:

https://calendar.google.com/calendar/ical/myemail%40gmail.com/private-xxx/basic.ics

Перейдите к разделу о чтении из файлов .ics.

У этого метода есть несколько минусов, а именно то, что загрузка с URL-адреса обычно занимает много времени и работает только при наличии Интернета. Также возможно синхронизировать календари Google локально, как в примере ниже, но это сложнее.

Локальная синхронизация файлов .ics (календарь Nextcloud)

Установите vdirsyncer для синхронизации файлов .ics из облака на компьютер:

pip install vdirsyncer

Создайте файл конфигурации с config именем .config/vdirsyncer/config. В этом примере показан типичный файл конфигурации для сервера Nextcloud. Для других серверов смотрите обучающие материалы здесь . Например, если у вас есть личный и рабочий календари, вам необходимо создать разные записи синхронизации и получить два файла .ics (или две папки с файлами .ics). В примере ниже показаны типичные записи для синхронизации двух календарей: «рабочего» и «личного»:

[general]
status_path = "~/.vdirsyncer/status/"


# Sync personal events:

[pair events_personal]
a = "events_personal_local"
b = "events_personal_remote"
collections = null

[storage events_personal_local]
type = "singlefile"
path = "~/.config/vdirsyncer/data/events_personal.ics"

[storage events_personal_remote]
type = "caldav"
url = "https://nextcloud.yourserver.com/remote.php/dav/calendars/admin/personal" # this points to personal calendar (not all calendars)
username = "..."
password = "..." # this is your app password in nextcloud


# Sync work events:

[pair events_work]
a = "events_work_local"
b = "events_work_remote"
collections = null

[storage events_work_local]
type = "singlefile"
path = "~/.config/vdirsyncer/data/events_work.ics"

[storage events_work_remote]
type = "caldav"
url = "https://nextcloud.yourserver.com/remote.php/dav/calendars/admin/work" # this points to work calendar (not all calendars)
username = "..."
password = "..." # this is your app password in nextcloud


# Sync tasks:

[pair tasks]
a = "tasks_local"
b = "tasks_remote"
collections = null

[storage tasks_local]
type = "singlefile"
path = "~/.config/vdirsyncer/data/tasks.ics"

[storage tasks_remote]
type = "caldav"
url = "https://nextcloud.yourserver.com/remote.php/dav/calendars/admin/tasks/"
username = "..."
password = "..." # this is your app password in nextcloud

После создания файла конфигурации выполните следующую команду, чтобы обнаружить конфигурацию:

vdirsyncer discover

Согласитесь на создание всех необходимых файлов и папок и запустите следующую команду для синхронизации:

vdirsyncer sync

Это должно синхронизировать ваши задачи и события с файлами .config/vdirsyncer/data. Однако вы также можете использовать эту type = "fylesystem" опцию, если хотите синхронизировать каждое событие как отдельный файл .ics.

Для синхронизации файлов периодически запускайте (подробнее здесь ): systemctl --user enable vdirsyncer.timer

Чтение файлов .ics в Cata

Теперь добавьте пути или URL-адреса файлов .ics в конфигурацию Cata по адресу .config/cata/config.ini. Cata примет URL-адрес (начинающийся с http) или путь к одному файлу (заканчивающийся на .ics) или путь к папке с файлами .ics, и в этом случае вся папка будет анализироваться как один календарь. Вот пример:

Копировать

ics_task_files = /home/username/.config/vdirsyncer/data/tasks.ics
ics_event_files = https://calendar.google.com/calendar/ical/myemail%40gmail.com/private-xxxxxxxx/basic.ics

Вы можете синхронизировать более одного пути или URL-адреса. Можно смешивать несколько типов записей, но записи должны быть разделены запятой без пробела, например:

ics_event_files = /home/username/.config/vdirsyncer/data/events_personal.ics,/home/username/.config/vdirsyncer/data/events_work.ics

Запустите cata, и вы увидите синхронизированные задачи и события. Если ничего не появилось, значит, произошла ошибка. Дважды проверьте все и посмотрите файл info.log в папке конфигурации.

Пока не поддерживается

  • Время окончания (отображается только время начала)

  • Цвета (на данный момент элементы раскрашены в соответствии с цветами в конфиге, но вы можете установить их такими же, как в вашем облаке)

  • Редактирование (задачи и события из .ics только отображаются, но редактировать их пока нельзя)

Поиск неисправностей

На этой странице представлены типичные проблемы и решения.

Last updated