code: def check_args(parser, args):
      
      # Make sure only one action has been specified
      if len([a for a in [args.create, args.extract, args.verify, args.list,
                          args.list_detailed, args.hash, args.add_signature] if a
              is not None]) != 1:
          parser.error("Must specify something to do (one of -c, -x, -t, -T, -v, --hash, --add-signature)")
  
      if args.create and not args.files:
          parser.error("Must specify at least one file to add to marfile")
  
      if args.extract and args.compression not in (None, 'bz2', 'xz', 'auto'):  # pragma: nocover
          parser.error('Unsupported compression type')
  
      if args.create and args.compression not in (None, 'bz2', 'xz'):  # pragma: nocover
          parser.error('Unsupported compression type')
  
      if args.hash and len(args.files) != 1:
          parser.error("Must specify a file to output the hash for")
docs: Validate commandline arguments.