""" Console script entry points for CLI tools. """ import os from datetime import datetime from edosl0util import split, trunc def _timestamp(v): return datetime.strptime(v, '%Y-%m-%d %H:%M:%S') def cmd_trunc(): from argparse import ArgumentParser parser = ArgumentParser() parser.add_argument('-o', '--output') parser.add_argument('filename') parser.add_argument('start', type=_timestamp) parser.add_argument('end', type=_timestamp) args = parser.parse_args() output = args.output or os.path.basename(args.filename) + '.trunc' with open(output, 'wb') as fptr: for pkt in trunc.trunc_file(args.filename, args.start, args.end): fptr.write(pkt.blob) def cmd_split(): from argparse import ArgumentParser parser = ArgumentParser(description=split.__doc__) parser.add_argument('--minutes', type=int, default=6) parser.add_argument('filepath') args = parser.parse_args() for stamp, fpath in split.split_file(args.filepath, args.minutes, os.getcwd()): print('wrote bucket {} to {}'.format(stamp.isoformat(), fpath))