185
185
if dtstart.find('-')>-1:
186
186
dtstart = dtstart[:dtstart.find('-')]
187
187
el = 'DTSTART:%s\n'%dtstart+el
189
188
rrule = dateutil.rrule.rrulestr(el)
190
189
ans = rrule.after(daybefore,inc=True)
192
190
if ans is not None:
194
192
if 'date' in self['start'].keys():
195
193
return get_datetime_from_string(self['start']['date'])
196
194
elif 'dateTime' in self['start'].keys():
197
195
return get_datetime_from_string(self['start']['dateTime'])
198
197
def get_start_date_string(self,daybefore=None):
199
198
adate = self.get_start_date(daybefore)
200
199
if 'date' in self['start'].keys():
201
200
return adate.strftime('%x')
203
202
return adate.strftime('%x')+' - '+adate.strftime('%H:%M')
204
def get_end_date(self):
203
def get_end_date(self,daybefore=None):
204
if 'recurrence' in self.keys():
205
for el in self['recurrence']:
206
if el.find('DTSTART') == -1:
207
if 'date' in self['end'].keys():
208
dtstart = self['end']['date'].replace('-','').replace(':','')
209
elif 'dateTime' in self['end'].keys():
210
dtstart = self['end']['dateTime'].replace('-','').replace(':','')
211
if dtstart.find('.')>-1:
212
dtstart = dtstart[:dtstart.find('.')]
213
if dtstart.find('+')>-1:
214
dtstart = dtstart[:dtstart.find('+')]
215
if dtstart.find('-')>-1:
216
dtstart = dtstart[:dtstart.find('-')]
217
el = 'DTSTART:%s\n'%dtstart+el
218
rrule = dateutil.rrule.rrulestr(el)
219
ans = rrule.after(daybefore,inc=True)
205
222
if 'date' in self['end'].keys():
206
223
return get_datetime_from_string(self['end']['date'])
207
224
elif 'dateTime' in self['end'].keys():
208
return get_datetime_from_string(self['end']['dateTime'])
225
return get_datetime_from_string(self['end']['dateTime'])
209
226
def __eq__(self,other):
210
227
for key in self.keys():
211
228
if key in other.keys():
305
322
response = self.__do_request('DELETE',url,params = params)
306
323
return (response is not None)
308
def add_event(self,calendar_id,summary,start_date,end_date,reminder=False,reminder_minutes=15,rrule=None):
325
def add_event(self,calendar_id,summary,start_date,end_date,description=None,reminder=False,reminder_minutes=15,rrule=None):
309
326
url = 'https://www.googleapis.com/calendar/v3/calendars/%s/events'%(calendar_id)
310
327
params = {'calendarId':calendar_id}
311
328
if type(start_date) == datetime.date:
349
def edit_event(self,calendar_id,event_id,summary,start_date,end_date,reminder=False,reminder_minutes=15,rrule=None):
368
def edit_event(self,calendar_id,event_id,summary,start_date,end_date,description=None,reminder=False,reminder_minutes=15,rrule=None):
350
369
url = 'https://www.googleapis.com/calendar/v3/calendars/%s/events/%s'%(calendar_id,event_id)
351
370
params = {'calendarId':calendar_id,'eventId':event_id}
352
371
if type(start_date) == datetime.date: