def METHOD_NAME(self, tdelta: int):
    """Delta: time from previous run in seconds"""
    if tdelta <= 0:
        return
    iterable = (
        (30 * 24, self._ipaddr_limits[0], self._ipaddr_buckets[0]),
        (7 * 24, self._ipaddr_limits[0], self._ipaddr_buckets[0]),
        (1 * 24, self._ipaddr_limits[0], self._ipaddr_buckets[0]),
        (30 * 24, self._ipaddr_limits[0], self._ipaddr_buckets[0]),
        (7 * 24, self._ipaddr_limits[0], self._ipaddr_buckets[0]),
        (1 * 24, self._ipaddr_limits[0], self._ipaddr_buckets[0]),
    )
    for hours, limit, bucket in iterable:
        vdelta = limit / hours / 3600 * tdelta
        to_delete = []
        for k, v in bucket.items():
            v += vdelta
            if v >= limit:
                to_delete.append(k)
            else:
                bucket[k] = v
        for k in to_delete:
            del bucket[k]