Запросите Python gdata Calendar API с помощью расширенных свойств - PullRequest
0 голосов
/ 31 октября 2011

Используя API-интерфейс Python GData Calendar, есть ли способ поиска / запроса событий с конкретными расширенными свойствами?

Т.е. моя программа создает события календаря и устанавливает расширенное свойство ProgramID = 'xxxxx'. В более поздний период я ​​хотел бы найти все события, где extended_property.ProgramID == 'xxxx'

В настоящее время я выполняю это, выполняя общий запрос, а затем перебирая каждый из них в поисках правильных расширенных свойств. Это очень много времени и ресурсов процессора, поэтому я бы хотел ускорить процесс.

    query = gdata.calendar.client.CalendarEventQuery()
    feed = gcal.GetCalendarEventFeed(q=query)
    for i, calEvent in enumerate(feed.entry):
        calEventProperties = calEvent.extended_property

    mikkiEvent = False
    mikkiEventKey = ''

    for eventProperty in  calEventProperties:

            if eventProperty.name == SETTINGS['CALID']:
        mikkiEvent = True

    if eventProperty.name == str(SETTINGS['CALID'] + 'EventKey'):
        mikkiEventKey = eventProperty.value

Я не могу найти место в Документе API, объясняющее, как добавить запрос расширенного свойства в запрос.

1 Ответ

0 голосов
/ 21 ноября 2011

В данный момент вы не можете выполнять запросы по расширенным свойствам.

В зависимости от того, насколько вы контролируете приложение и календари, вы можете обойти это, поместив какие-то метаданные в поле описания.запрашивая его, а затем фильтруя результаты (как вы это делаете в настоящее время) с помощью расширенного соответствия свойств.

...