"""Read completed Single records once, without interfering with acquisition.""" class CaptureState: def __init__(self): self.armed = False self.delivered = None def arm(self): self.armed = True def ready(self, status): running, single, count = status if not single: self.armed = False self.delivered = None return running if running or count == 0: self.armed = True return False return count > 0 and (self.armed or self.delivered != count) def consumed(self, status): if status[1]: self.delivered = status[2] self.armed = False