in libs/google/calendar.py [0:0]
def list_events(self, user_email, role="organizer"):
"""
Lists the future dated events of a user.
:param user_email: user_email
:param role: organizer: attendee: owned_single_event
:return: List of event ids.
"""
now = HelperFunctions().date_now()
events = []
r = json.loads(self.call_google_api(service=self.service,
api_resource="events",
api_method="list",
response_field="items",
singleEvents=True,
timeMin=now,
orderBy="startTime",
calendarId="primary"))
if r is not None:
if role == "organizer":
for event in r:
if (("organizer" in event) and
(("self" in event["organizer"] and event["organizer"]["self"]) or
(event["organizer"]["email"] == user_email))):
if ("recurringEventId" in event):
events.append(event["recurringEventId"])
else:
events.append(event["id"])
elif role == "attendee":
for event in r:
if (("organizer" in event) and
(("self" not in event["organizer"]) or
(event["organizer"]["email"] != user_email))):
if ("recurringEventId" in event):
events.append(event["recurringEventId"])
else:
events.append(event["id"])
elif role == "owned_single_event":
for event in r:
if (("organizer" in event) and
(("self" in event["organizer"] and event["organizer"]["self"]) or
(event["organizer"]["email"] == user_email))):
if ("recurringEventId" not in event):
events.append(event["id"])
return list(set(events))