in tools/changelog.py [0:0]
def main(token, changelog_file='CHANGELOG.md', exclude_pull=None,
merged_to=None, release_as=None, release_from=None, release_to=None,
write=False, verbose=False):
logging.basicConfig(level=logging.INFO if verbose else logging.WARNING)
if release_as is not None and release_to is not None:
raise SystemExit('Only one of `release_as` and `release_to` can be used.')
try:
date_from = get_release_date(token, release_from)
logging.info(f'release date from: {date_from}')
date_to = None if not release_to else get_release_date(token, release_to)
logging.info(f'release date to: {date_to}')
pulls = list(
get_pulls(token, date_from, date_to, merged_to or ('master',),
exclude_pull))
logging.info(f'number of pulls: {len(pulls)}')
pull_groups = group_pulls(pulls)
upgrade_notes = [pr for pr in pulls if pr.upgrade_notes]
rel_changes = format_release(pull_groups, upgrade_notes, release_as,
release_to, release_from, date_to, date_from)
if not write:
print(rel_changes)
raise SystemExit(0)
releases, links = load_changelog(changelog_file)
write_changelog(releases, links, rel_changes, release_as, release_to,
release_from, changelog_file)
except Error as e:
raise SystemExit(f'Error running command: {e}')