Source code for catkin_pkg.cli.test_changelog

"""This script tests REP-0132 changelog files."""

from __future__ import print_function

import argparse
import logging
import os
import sys

import catkin_pkg.changelog
from catkin_pkg.changelog import Changelog, CHANGELOG_FILENAME
from catkin_pkg.changelog import populate_changelog_from_rst


[docs]def main(sysargs=None): parser = argparse.ArgumentParser( description="Tests a REP-0132 %s" % CHANGELOG_FILENAME) parser.add_argument( 'changelog_file', help="%s file to parse" % CHANGELOG_FILENAME, default='.', nargs='?') args = parser.parse_args(sysargs) if os.path.isdir(args.changelog_file): changelog_file = os.path.join(args.changelog_file, CHANGELOG_FILENAME) if not os.path.exists(changelog_file): print("No {0} file in given directory: '{1}'" .format(CHANGELOG_FILENAME, args.changelog_file), file=sys.stderr) return 1 else: changelog_file = args.changelog_file if not os.path.exists(changelog_file): print("{0} file given does not exist: '{1}'" .format(CHANGELOG_FILENAME, args.changelog_file), file=sys.stderr) return 1 if os.path.basename(changelog_file) != CHANGELOG_FILENAME: print("WARNING: changelog file name should be %s" % CHANGELOG_FILENAME) logging.basicConfig() catkin_pkg.changelog.log.setLevel(logging.DEBUG) changelog = Changelog() with open(changelog_file, 'r') as f: print(populate_changelog_from_rst(changelog, f.read()))