Skip to content
Snippets Groups Projects
trunc.py 500 B
import io
from edosl0util.stream import PacketStream


def trunc_stream(stream, start, end):
    stream.seek(start)

    pkt = stream.next()
    while pkt.stamp <= end:
        # first pkt in group
        yield pkt
        # following pkts in group
        pkt = stream.next()
        while pkt.stamp is None:
            yield pkt
            pkt = stream.next()


def trunc_file(filename, start, end):
    stream = PacketStream(io.open(filename, 'rb'))
    return trunc_stream(stream, start, end)