Continue on 500/503 errors.

This commit is contained in:
facetoe 2016-05-21 10:39:58 +08:00
parent c8c09763c1
commit 0215bdf5f1

View File

@ -5,8 +5,9 @@ import oauth2client
import pytz
from apiclient import discovery
from dateutil import parser
from googleapiclient.errors import HttpError
from i3pystatus import IntervalModule
from i3pystatus import IntervalModule, logger
from i3pystatus.core.color import ColorRangeModule
from i3pystatus.core.util import internet, require
@ -108,17 +109,25 @@ class GoogleCalendar(IntervalModule, ColorRangeModule):
return event
def get_events(self):
now, later = self.get_timerange()
events_result = self.service.events().list(
calendarId='primary',
timeMin=now,
timeMax=later,
maxResults=10,
singleEvents=True,
orderBy='startTime',
timeZone='utc'
).execute()
return events_result.get('items', [])
events = []
try:
now, later = self.get_timerange()
events_result = self.service.events().list(
calendarId='primary',
timeMin=now,
timeMax=later,
maxResults=10,
singleEvents=True,
orderBy='startTime',
timeZone='utc'
).execute()
events = events_result.get('items', [])
except HttpError as e:
if e.resp.status in (500, 503):
logger.warn("GoogleCalendar received %s while retrieving events" % e.resp.status)
else:
raise
return events
def get_timerange(self):
now = datetime.datetime.utcnow()