from edosl0util.cli import util
from edosl0util.rdrgen import packets_to_rdrs


def main():
    parser = util.default_parser(description=__doc__)
    parser.add_argument(
        '--aggr-type', choices=['idps', 'full'], default='idps',
        help=(
            'Aggregation type to perform. Use idps to have the aggregation buckets '
            'determined by the same method IDPS uses, or full to create a single '
            'large RDR containg all the data.'
        )
    )
    g = parser.add_mutually_exclusive_group()
    g.add_argument(
        '--aggr-level', type=int,
        help='Number of aggregation granules used to determine alignment. Only used for type = idps.')
    g.add_argument('--aggr', type=int, help='Deprecated, use --aggr-level')
    parser.add_argument('sat', choices=['snpp', 'j01'])
    parser.add_argument('pds', nargs='+')
    args = parser.parse_args()
    util.configure_logging(args)

    level = args.aggr_level or args.aggr

    if level:
        packets_to_rdrs(args.sat, args.pds, aggr_type=args.aggr_type, aggr_level=level)
    else:
        packets_to_rdrs(args.sat, args.pds, aggr_type=args.aggr_type)


if __name__ == '__main__':
    main()