Continue on 500/503 errors.
This commit is contained in:
parent
c8c09763c1
commit
0215bdf5f1
@ -5,8 +5,9 @@ import oauth2client
|
|||||||
import pytz
|
import pytz
|
||||||
from apiclient import discovery
|
from apiclient import discovery
|
||||||
from dateutil import parser
|
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.color import ColorRangeModule
|
||||||
from i3pystatus.core.util import internet, require
|
from i3pystatus.core.util import internet, require
|
||||||
|
|
||||||
@ -108,6 +109,8 @@ class GoogleCalendar(IntervalModule, ColorRangeModule):
|
|||||||
return event
|
return event
|
||||||
|
|
||||||
def get_events(self):
|
def get_events(self):
|
||||||
|
events = []
|
||||||
|
try:
|
||||||
now, later = self.get_timerange()
|
now, later = self.get_timerange()
|
||||||
events_result = self.service.events().list(
|
events_result = self.service.events().list(
|
||||||
calendarId='primary',
|
calendarId='primary',
|
||||||
@ -118,7 +121,13 @@ class GoogleCalendar(IntervalModule, ColorRangeModule):
|
|||||||
orderBy='startTime',
|
orderBy='startTime',
|
||||||
timeZone='utc'
|
timeZone='utc'
|
||||||
).execute()
|
).execute()
|
||||||
return events_result.get('items', [])
|
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):
|
def get_timerange(self):
|
||||||
now = datetime.datetime.utcnow()
|
now = datetime.datetime.utcnow()
|
||||||
|
Loading…
Reference in New Issue
Block a user