def Main():
    'The main program function.\n\n  Returns:\n    bool: True if successful or False if not.\n  '
    argument_parser = argparse.ArgumentParser(description='Extracts information from BSM event auditing files.')
    argument_parser.add_argument('-d', '--debug', dest='debug', action='store_true', default=False, help='enable debug output.')
    argument_parser.add_argument('source', nargs='?', action='store', metavar='PATH', default=None, help='path of the BSM event auditing file.')
    options = argument_parser.parse_args()
    if (not options.source):
        print('Source file missing.')
        print('')
        argument_parser.print_help()
        print('')
        return False
    logging.basicConfig(level=logging.INFO, format='[%(levelname)s] %(message)s')
    output_writer = output_writers.StdoutWriter()
    try:
        output_writer.Open()
    except IOError as exception:
        print('Unable to open output writer with error: {0!s}'.format(exception))
        print('')
        return False
    log_file = bsm.BSMEventAuditingFile(debug=options.debug, output_writer=output_writer)
    log_file.Open(options.source)
    print('BSM event auditing information:')
    print('')
    log_file.Close()
    output_writer.Close()
    return True
The main program function.

Returns:
  bool: True if successful or False if not.
def Main():
    'The main program function.\n\n  Returns:\n    bool: True if successful or False if not.\n  '
    argument_parser = argparse.ArgumentParser(description='Extracts information from BSM event auditing files.')
    argument_parser.add_argument('-d', '--debug', dest='debug', action='store_true', default=False, help='enable debug output.')
    argument_parser.add_argument('source', nargs='?', action='store', metavar='PATH', default=None, help='path of the BSM event auditing file.')
    options = argument_parser.parse_args()
    if (not options.source):
        print('Source file missing.')
        print()
        argument_parser.print_help()
        print()
        return False
    logging.basicConfig(level=logging.INFO, format='[%(levelname)s] %(message)s')
    output_writer = output_writers.StdoutWriter()
    try:
        output_writer.Open()
    except IOError as exception:
        print('Unable to open output writer with error: {0!s}'.format(exception))
        print()
        return False
    log_file = bsm.BSMEventAuditingFile(debug=options.debug, output_writer=output_writer)
    log_file.Open(options.source)
    print('BSM event auditing information:')
    print()
    log_file.Close()
    output_writer.Close()
    return True