Skip to content

Commit 84c1fee

Browse files
authored
Merge pull request #6 from sunweaver/pr/add-quiet-option
gitlab_release_notes/generate.py: Add --quiet cmdline option.
2 parents da91cbc + 47008b7 commit 84c1fee

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

gitlab_release_notes/generate.py

+14-6
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import sys
55
from .version import __version__
66

7-
def generate_release_notes(project_id, endstr = ' <br>', since=None, **config):
7+
def generate_release_notes(project_id, endstr = ' <br>', since=None, quiet=False, **config):
88
"""
99
Generate the release notes of a gitlab project from the last release
1010
@@ -36,15 +36,17 @@ def generate_release_notes(project_id, endstr = ' <br>', since=None, **config):
3636
if not project.mergerequests.list(get_all=False,state='merged'):
3737
raise ValueError(f"There is no merged merge request for project {project_id} {project.name}")
3838

39+
log = ""
40+
3941
if since:
40-
log = f"Changelog of {project.name} since {since}:{endstr}"
42+
log_pending = f"Changelog of {project.name} since {since}:{endstr}"
4143
last_date = since
4244
elif not project.releases.list(get_all=False):
43-
log = f"Changelog of {project.name}:{endstr}"
45+
log_pending = f"Changelog of {project.name}:{endstr}"
4446
last_date = '0000-01-01T00:00:00Z'
4547
else:
4648
last_release = project.releases.list(get_all=False)[0]
47-
log = f"Changelog since release {last_release.name} of {project.name}:{endstr}"
49+
log_pending = f"Changelog since release {last_release.name} of {project.name}:{endstr}"
4850
last_date = last_release.released_at
4951

5052
page = 1
@@ -54,9 +56,12 @@ def generate_release_notes(project_id, endstr = ' <br>', since=None, **config):
5456
updated_after=last_date,
5557
page=page)
5658
if not list_mrs:
57-
log += f"There is no merged merge request after {last_date}"
59+
if not quiet:
60+
log += log_pending
61+
log += f"There is no merged merge request after {last_date}{endstr}"
5862
return log
5963

64+
log += log_pending
6065
while list_mrs:
6166
for mr in list_mrs:
6267
line = f" * {mr.title} (@{mr.author['username']}){endstr}"
@@ -87,6 +92,7 @@ def main():
8792
parser.add_argument('--version', action='version', version=__version__)
8893
parser.add_argument('--html', action='store_true')
8994
parser.add_argument('--since', type=datetime.date.fromisoformat, required=False, default=None)
95+
parser.add_argument('--quiet', action='store_true')
9096

9197
args = parser.parse_args()
9298

@@ -98,9 +104,11 @@ def main():
98104
url=args.url,
99105
endstr=endstr,
100106
since=args.since,
107+
quiet=args.quiet,
101108
private_token=args.private_token,
102109
)
103-
print(notes)
110+
if notes:
111+
print(notes)
104112

105113
if __name__ == "__main__":
106114
main()

0 commit comments

Comments
 (0)