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,17 +109,25 @@ class GoogleCalendar(IntervalModule, ColorRangeModule):
|
|||||||
return event
|
return event
|
||||||
|
|
||||||
def get_events(self):
|
def get_events(self):
|
||||||
now, later = self.get_timerange()
|
events = []
|
||||||
events_result = self.service.events().list(
|
try:
|
||||||
calendarId='primary',
|
now, later = self.get_timerange()
|
||||||
timeMin=now,
|
events_result = self.service.events().list(
|
||||||
timeMax=later,
|
calendarId='primary',
|
||||||
maxResults=10,
|
timeMin=now,
|
||||||
singleEvents=True,
|
timeMax=later,
|
||||||
orderBy='startTime',
|
maxResults=10,
|
||||||
timeZone='utc'
|
singleEvents=True,
|
||||||
).execute()
|
orderBy='startTime',
|
||||||
return events_result.get('items', [])
|
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):
|
def get_timerange(self):
|
||||||
now = datetime.datetime.utcnow()
|
now = datetime.datetime.utcnow()
|
||||||
|
Loading…
Reference in New Issue
Block a user