def remove_user_from_schedule()

in libs/pagerduty/__init__.py [0:0]


  def remove_user_from_schedule(self, schedule_id, user_id):
    """
    remove user from a schedule.
    :param schedule_id: schedule_id
    :param user_id: user_id
    :return: bool
    """
    schedule = self.get_schedule_by_id(schedule_id=schedule_id)

    for layer in schedule["schedule"]["schedule_layers"]:
      for user in layer["users"]:
        if user["user"]["id"] == user_id:
          user_idx = layer["users"].index(user)
          layer["users"].pop(user_idx)
          if len(layer["users"]) == 0:
            layer["users"].append(schedule["schedule"]["users"][0])
    removed = self.update_schedule_by_id(schedule_id=schedule_id, schedule=schedule)

    return removed