Кодирование собственного приложения для Gnome-shell Calendar

1) Я хочу написать приложение на календаре на python, которое будет взаимодействовать с gnome-shell-calendar. Я спрашивал вокруг, и мне сказали, что календарь оболочки Gnome использует

evolution-data-sever 

для получения своей информации. Я обнаружил, что есть модуль Python

python-evolution 

, который позволяет вам взаимодействовать с сервером эволюции. Но этот модуль уже устарел. Есть ли другой способ взаимодействия с сервером?

2) Я также заметил процесс под названием

gnome-shell-calendar-server

В чем разница между этим и эволюционным?

1
задан 6 September 2014 в 16:11

1 ответ

К Evolution Data Server 3.6 можно получить доступ через Python с помощью самоанализа gobject. Для этого также необходимо установить gir1.2-edataserver-1.2 и gir1-2-ecalendar-1.2.

Например, следующий скрипт перечислит все события во всех календарях на сервере evolution-data.

#! /usr/bin/python
# -*- coding: utf-8 -*-

from gi.repository import ECalendar
from gi.repository import EDataServer

# Open a registry and get a list of all the calendars in EDS
registry = EDataServer.SourceRegistry.new_sync(None)
sources = EDataServer.SourceRegistry.list_sources(registry, EDataServer.SOURCE_EXTENSION_CALENDAR)

# Open each calendar containing events and get a list of all objects in them
for source in sources:
    client = ECalendar.CalClient.new(source, ECalendar.CalSourceType.EVENT)
    client.open_sync(False, None)

    # ret is true or false depending if events are found or not
    # values is a list of events
    ret, values = client.get_object_list_as_comps_sync("#t", None)
    if ret:
        for value in values:
            event = value.get_as_string()
            print event
0
ответ дан 6 September 2014 в 16:11

Другие вопросы по тегам:

Похожие вопросы: