def __init__(self, ring, which='specific', name="", time_tag=None, other_obj=None, guarantee=True, header_transform=None): SequenceBase.__init__(self, ring) self._ring = ring # A function for transforming the header before it's read self.header_transform = header_transform self.obj = _bf.BFrsequence() if which == 'specific': _check(_bf.bfRingSequenceOpen(self.obj, ring.obj, name, guarantee)) elif which == 'at': assert (time_tag is not None) _check( _bf.bfRingSequenceOpenAt(self.obj, ring.obj, time_tag, guarantee)) elif which == 'latest': _check(_bf.bfRingSequenceOpenLatest(self.obj, ring.obj, guarantee)) elif which == 'earliest': _check( _bf.bfRingSequenceOpenEarliest(self.obj, ring.obj, guarantee)) else: raise ValueError( "Invalid 'which' parameter; must be one of: 'specific', 'latest', 'earliest'" )
def __init__(self, ring, which='specific', name="", time_tag=None, other_obj=None, guarantee=True): SequenceBase.__init__(self, ring) self._ring = ring self.obj = _bf.BFrsequence() if which == 'specific': _check(_bf.bfRingSequenceOpen(self.obj, ring.obj, name, guarantee)) elif which == 'latest': _check(_bf.bfRingSequenceOpenLatest(self.obj, ring.obj, guarantee)) elif which == 'earliest': _check( _bf.bfRingSequenceOpenEarliest(self.obj, ring.obj, guarantee)) elif which == 'at': _check( _bf.bfRingSequenceOpenAt(self.obj, ring.obj, time_tag, guarantee)) #elif which == 'next': # self._check( self.lib.bfRingSequenceOpenNext(pointer(self.obj), other_obj) ) else: raise ValueError( "Invalid 'which' parameter; must be one of: 'specific', 'latest', 'earliest'" )