def list_events()

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))