2 Stimmen

Google Cal API Python: Mehrfaches Löschen mit ExecuteBatch-Fehler

Ich versuche, alle Ereignisse eines Kalenders mit der Google API für Python zu löschen. Wenn ich die Ereignisse einzeln löschen, funktioniert dies gut, aber es ist sehr lang und nicht unoptimiert, so dass ich versuche, die gleiche Sache mit ExecuteBatch zu tun, die ich für das Einfügen einer Menge von Einträgen in den Kalender verwenden (und dies funktioniert gut vor dem Einfügen).

def DeleteAllEntryOfCalendar(calendar_client, name_calendar):
    #Request_feed for doing the delete
    request_feed = gdata.calendar.CalendarEventFeed()
    #Get the Uri of the cal we've to delete all entries
    uri = GetUri(calendar_client, name_calendar)
    feed = calendar_client.GetAllCalendarsFeed()
    for a_cal in feed.entry:
        if a_cal.title.text == name_calendar:
            calendar = a_cal    
    #For each entry in the cal, do a delete request entry in request_feed
    query = gdata.calendar.client.CalendarEventQuery()
    query.max_results = 1000
    feed = calendar_client.GetCalendarEventFeed(uri=uri, q=query)
    for an_entry in feed.entry:
        an_entry.batch_id = gdata.BatchId(text='delete-request')
        request_feed.AddDelete(entry=an_entry)    
        entry = ''

    # submit the batch request to the server
    response_feed = calendar_client.ExecuteBatch(request_feed, uri+u'/batch')

Und ich bekam die Fehlermeldung :

Traceback (most recent call last):
  File "c.py", line 253, in <module>
    DeleteAllEntryOfCalendar(client, name_calendar)
  File "c.py", line 187, in DeleteAllEntryOfCalendar
    response_feed = calendar_client.ExecuteBatch(request_feed, uri+u'/batch')
  File "/usr/local/lib/python2.6/dist-packages/gdata/calendar/client.py", line 432, in     execute_batch
    return self.Post(batch_feed, url, desired_class=desired_class)
  File "/usr/local/lib/python2.6/dist-packages/gdata/client.py", line 681, in post
    entry.to_string(get_xml_version(self.api_version)),
AttributeError: 'CalendarEventFeed' object has no attribute 'to_string'

Ich wiederhole, dass, wenn ich das gleiche tun, um Ereignisse einzufügen dies funktioniert gut. Ich habe eine Menge suchen und versucht, eine Menge von Möglichkeiten und ich kann nicht tun es funktionieren. Wenn Sie eine Idee haben...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X