def _validate_append()

in otava/series.py [0:0]


    def _validate_append(self, time, new_data, attributes):
        if not self.change_points:
            return RuntimeError("You must use __compute_change_points() once first.")
        if not isinstance(time, list):
            return ValueError("time argument must be an array.")
        if not isinstance(new_data, dict):
            return ValueError("new_data argument must be a dict with metrics as key.")
        if len(new_data.keys()) == 0 or len([v for v in [vv for vv in new_data.values()]]) == 0:
            return ValueError("new_data argument doesn't contain any data")
        if not isinstance(attributes, dict):
            return ValueError("attributes must be a dict.")

        max_time = max(self.__series.time)
        for t in time:
            if t <= max_time:
                return ValueError("time must be monotonously increasing if you use append() time={}".format(time))

        return None