#!/usr/bin/env python3 # vim: set encoding=utf-8 noet ts=4 # TODO: DAT format detection. """Convert DAT file to hash sums.""" import argparse, os, signal, sys from dat import DAT, GenericXML if __name__ == '__main__': signal.signal(signal.SIGPIPE, signal.SIG_DFL) parser = argparse.ArgumentParser(add_help=False, description=__doc__) parser.add_argument('DAT', help=DAT.__doc__) parser.add_argument( '-h', '--help', action='help', default=argparse.SUPPRESS, help='Show this help message and exit.' ) fmt = parser.add_argument_group('hash arguments') fmtgrp = fmt.add_mutually_exclusive_group(required=True) fmtgrp.add_argument( '-c' , '--csv4', action='store_true', help=DAT.csv.__doc__ ) fmtgrp.add_argument( '-C' , '--sfv', action='store_true', help=DAT.sfv.__doc__ ) fmtgrp.add_argument( '-H' , '--sha1', action='store_true', help=DAT.sha1sum.__doc__ ) fmtgrp.add_argument( '-M' , '--md5', action='store_true', help=DAT.md5sum.__doc__ ) args = parser.parse_args() dat = GenericXML(args.DAT) if args.csv4: dat.csv() elif args.md5: dat.md5sum() elif args.sfv: dat.sfv() elif args.sha1: dat.sha1sum()