|
1 |
| -from os.path import abspath, dirname |
| 1 | +#!/usr/bin/env python |
| 2 | + |
| 3 | +"""Create release notes template based on issues on GitHub. |
| 4 | +
|
| 5 | +Usage: ./generate.py version [login] [password] |
| 6 | +
|
| 7 | +Template is written to the standard output. Redirect it to a file if needed. |
| 8 | +
|
| 9 | +Requires PyGithub <https://github.com/jacquev6/PyGithub>. |
| 10 | +""" |
| 11 | + |
| 12 | +import re |
2 | 13 | import sys
|
3 | 14 | import time
|
4 | 15 |
|
|
9 | 20 | except ImportError:
|
10 | 21 | raise ImportError('Required PyGitHub module missing: pip install PyGithub')
|
11 | 22 |
|
12 |
| -sys.path.insert(0, dirname(dirname(dirname(abspath(__file__))))) |
13 |
| -from tasks import get_version_from_file, VERSION_RE |
14 | 23 |
|
| 24 | +VERSION_RE = re.compile('^((2\.\d+)(\.\d+)?)((a|b|rc|.dev)(\d+))?$') |
15 | 25 |
|
16 |
| -class ReleaseNoteGenerator(object): |
17 |
| - """Create release notes template based on issues on GitHub. |
18 | 26 |
|
19 |
| - Requires PyGithub <https://github.com/jacquev6/PyGithub>. |
20 |
| - """ |
| 27 | +class ReleaseNoteGenerator(object): |
21 | 28 | repository = 'robotframework/robotframework'
|
22 | 29 |
|
23 | 30 | def __init__(self, stream=sys.stdout):
|
24 | 31 | self._stream = stream
|
25 | 32 |
|
26 |
| - def generate(self, version=get_version_from_file(), login=None, |
27 |
| - password=None): |
| 33 | + def generate(self, version, login=None, password=None): |
28 | 34 | milestone, preview, preview_number = self._split_version(version)
|
29 | 35 | issues = self._get_issues(milestone, preview, preview_number, login,
|
30 | 36 | password)
|
@@ -209,4 +215,7 @@ def __nonzero__(self):
|
209 | 215 |
|
210 | 216 | if __name__ == '__main__':
|
211 | 217 | generator = ReleaseNoteGenerator()
|
212 |
| - generator.generate(*sys.argv[1:]) |
| 218 | + try: |
| 219 | + generator.generate(*sys.argv[1:]) |
| 220 | + except TypeError: |
| 221 | + sys.exit(__doc__) |
0 commit comments