@@ -74,24 +74,37 @@ def get_pr_authors(pr):
74
74
75
75
def print_pr_report (kwargs ):
76
76
77
- ref_date = kwargs .get ('since' )
77
+ since_date = kwargs .get ('since' )
78
+ until_date = kwargs .get ('until' )
78
79
79
- if not ref_date is None :
80
- print ()
81
- print ("The following is a list of pull requests since" ,
82
- ref_date + ":" )
83
- ref_date_ts = date_parser .parse (ref_date ).timestamp ()
80
+ msg = "The following is a list of"
81
+ if since_date is None and until_date is None :
82
+ msg += " all"
83
+ msg += " pull requests"
84
+
85
+ if since_date :
86
+ since_date_ts = date_parser .parse (since_date ).timestamp ()
87
+ msg += f" merged since { since_date } "
88
+ else :
89
+ since_date_ts = 0
90
+
91
+ if until_date :
92
+ until_date_ts = date_parser .parse (until_date ).timestamp ()
93
+ if since_date :
94
+ msg += f" and until { until_date } "
95
+ else :
96
+ msg += f" merged until { until_date } "
84
97
else :
85
- ref_date_ts = 0
86
- print ()
87
- print ("The following is a list of all pull requests :" )
98
+ until_date_ts = 0
99
+
100
+ print (msg + " :" )
88
101
89
102
pr_db = get_pr_list (kwargs .get ('state' ), label = kwargs ['label' ])
90
103
all_authors = []
91
104
for pr in pr_db :
92
105
pr ['mergedAt' ] = date_parser .parse (pr ['mergedAt' ]).timestamp ()
93
106
pr_labels = [label ['name' ] for label in pr ['labels' ]]
94
- if pr ['mergedAt' ] > ref_date_ts and affects_backend (
107
+ if pr ['mergedAt' ] >= since_date_ts and pr [ 'mergedAt' ] <= until_date_ts and affects_backend (
95
108
pr_labels , kwargs .get ('backend' )):
96
109
pr_authors = get_pr_authors (pr )
97
110
all_authors += pr_authors
@@ -100,8 +113,7 @@ def print_pr_report(kwargs):
100
113
print (" " , pr ['url' ], "(" + ", " .join (pr_authors )+ ")" )
101
114
102
115
print ()
103
- print ("Authors:" , ", " .join (sorted (list (set (all_authors )),
104
- key = str .casefold )))
116
+ print ("Authors:" , ", " .join (sorted (list (set (all_authors )), key = str .casefold )))
105
117
106
118
107
119
if __name__ == '__main__' :
@@ -112,7 +124,10 @@ def print_pr_report(kwargs):
112
124
formatter_class = argparse .ArgumentDefaultsHelpFormatter )
113
125
parser .add_argument ('--since' ,
114
126
type = str ,
115
- help = "List PRs merged this date; default is all" )
127
+ help = "List PRs merged since this date; default is all" )
128
+ parser .add_argument ('--until' ,
129
+ type = str ,
130
+ help = "List PRs merged until this date; default is all" )
116
131
parser .add_argument ('--backend' ,
117
132
type = str ,
118
133
choices = backends ,
0 commit comments