Skip to content
Snippets Groups Projects
crgen.py 1017 B
"""Generate a PDS construction record from a PDS data file"""

import logging
from edosl0util import crio
from edosl0util.cli import util
from edosl0util.crgen import build_cr


def main():
    parser = util.default_parser(description=__doc__)
    parser.add_argument("input_file")
    parser.add_argument(
        "-o", "--output-file", help="generated from input file name by default"
    )
    parser.add_argument(
        "-p",
        "--prev_pds_file",
        help="previous PDS data file, used for detecting cross-file packet gaps",
    )
    args = parser.parse_args()
    util.configure_logging(args)
    crgen(args.input_file, args.output_file, args.prev_pds_file)


def crgen(input_file, output_file=None, prev_pds_file=None):
    cr = build_cr(input_file, prev_pds_file)
    if output_file is None:
        output_file = cr["pds_id"] + ".PDS"
    logger.info("writing {}".format(output_file))
    crio.write(cr, output_file)


logger = logging.getLogger(__name__)


if __name__ == "__main__":
    main()