# encoding: utf-8
__copyright__ = "Copyright (C) 2015 University of Wisconsin SSEC. All rights reserved."

import io
from edosl0util.stream import jpss_packet_stream


def trunc_stream(stream, start, end):
    stream.seek_to(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 = jpss_packet_stream(io.open(filename, 'rb'))
    return trunc_stream(stream, start, end)