2013-07-13 6 views
1

Я запускаю ownCloud на своем веб-пространстве для общего календаря. Теперь я ищу подходящую библиотеку python для доступа к календарю только для чтения. Я хочу поместить некоторую информацию о календаре на веб-сайт интрасети.Библиотека Python для доступа к серверу CalDAV

Я пробовал http://trac.calendarserver.org/wiki/CalDAVClientLibrary, но он всегда возвращает команду NotImplementedError с командой запроса, поэтому я предполагаю, что команда запроса не работает с данной библиотекой.

Какую библиотеку я мог бы использовать вместо этого?

ответ

0

Возможно, вы хотите предоставить более подробную информацию о том, как вы фактически используете API, но в случае, если команда запроса действительно не реализована, есть список других библиотек Python на CalConnect website (архивная версия, original link мертва Теперь).

+1

Эта страница умерла сейчас – Kerridge0

0

pyOwnCloud может быть правильной вещью для вас. Я не пробовал, но он должен предоставить CMDline/API для чтения календарей.

4

Я рекомендую библиотеку, caldav.

Read-only отлично работает с этой библиотекой и смотрит прямо на меня. Он будет делать всю работу по получению календарей и чтению событий, возвращая их в iCalendar format. Более подробную информацию о библиотеке caldav также можно получить в documentation.

import caldav 

client = caldav.DAVClient(<caldav-url>, username=<username>, 
          password=<password>) 
principal = client.principal() 
for calendar in principal.calendars(): 
    for event in calendar.events(): 
     ical_text = event.data 

Из этого на вас можно использовать icalendar библиотеку для чтения конкретных полей, таких как тип (например событие, TODO, сигнализация..), Имя, время и т.д. - хорошая отправная точка может быть this question.

+0

Добро пожаловать в Переполнение стека! Хотя это теоретически может ответить на вопрос, [было бы желательно] (// meta.stackoverflow.com/q/8259) включить сюда основные части ответа и предоставить ссылку для справки. –

+2

спасибо за комментарий, я думаю, что редактирование - это то, о чем вы просили? –

Смежные вопросы