44import sys
55from .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 } "
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,6 +104,7 @@ def main():
98104 url = args .url ,
99105 endstr = endstr ,
100106 since = args .since ,
107+ quiet = args .quiet ,
101108 private_token = args .private_token ,
102109 )
103110 print (notes )
0 commit comments