import io from edosl0util import stream from edosl0util.cli import util def main(): parser = util.default_parser() parser.add_argument("-a", "--aqua", action="store_true") parser.add_argument("filepath") args = parser.parse_args() util.configure_logging(args) num_packets = 0 if not args.aqua: packets = stream.jpss_packet_stream(io.open(args.filepath, "rb")) else: packets = stream.aqua_packet_stream(io.open(args.filepath, "rb")) while True: try: packets.next() num_packets += 1 except stream.PacketTooShort as err: print("corrupt packet stream after %d packets: %s" % (num_packets, err)) break except StopIteration: break total = 0 first, last, info = packets.info() print("First: %s" % first) print("Last: %s" % last) for apid, dat in info.items(): total += dat["count"] print("%d: count=%d missing=%d" % (apid, dat["count"], dat["num_missing"])) print("{} total packets".format(total)) if __name__ == "__main__": main()