1
0
Fork 0
mirror of https://github.com/Findus23/new-github-changelog-generator.git synced 2024-08-27 19:52:18 +02:00
new-github-changelog-generator/generator/cli.py

29 lines
1.1 KiB
Python
Raw Normal View History

2019-02-03 18:26:13 +01:00
import argparse
2019-02-03 14:10:17 +01:00
from datetime import datetime, timedelta
from generator import generate_changelog
2019-02-02 22:12:08 +01:00
2019-02-03 18:26:13 +01:00
def parsed_date(s):
try:
return datetime.strptime(s, "%Y-%m-%d %H:%M:%S")
except ValueError:
msg = "Not a valid date: '{0}'.".format(s)
raise argparse.ArgumentTypeError(msg)
2019-02-02 22:12:08 +01:00
def main():
2019-02-03 16:33:44 +01:00
since = datetime.today() - timedelta(5)
2019-02-03 14:10:17 +01:00
2019-02-03 18:26:13 +01:00
parser = argparse.ArgumentParser(description='Generate changelogs from closed GitHub issues and merged PRs.')
parser.add_argument('--since', metavar='"YYYY-MM-DD HH:MM:SS"', type=parsed_date,
help='date of previous release')
parser.add_argument('--output', metavar='"YYYY-MM-DD HH:MM:SS"', type=parsed_date,
help='date of previous release')
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument('--html', action='store_const', const="html", dest="output", help="output as HTML")
group.add_argument('--markdown', action='store_const', const="markdown", dest="output", help="output as markdown")
args = parser.parse_args()
generate_changelog(args.since, args.output)