Skip to content
Snippets Groups Projects
crgen.py 997 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()