File tree Expand file tree Collapse file tree 2 files changed +16
-7
lines changed Expand file tree Collapse file tree 2 files changed +16
-7
lines changed Original file line number Diff line number Diff line change 26
26
run : python -m pip install jinja2
27
27
28
28
- name : Generate release cycle output
29
- run : python -I -bb -X dev -X warn_default_encoding -W error _tools/generate_release_cycle.py
30
-
31
- - name : Ignore release-cycle.svg, which encodes the current date
32
- run : git restore include/release-cycle.svg
29
+ run : python -I -bb -X dev -X warn_default_encoding -W error _tools/generate_release_cycle.py --today 2023-01-21
33
30
34
31
- name : Check for differences
35
32
run : |
Original file line number Diff line number Diff line change 1
1
"""Read in a JSON and generate two CSVs and an SVG file."""
2
2
from __future__ import annotations
3
3
4
+ import argparse
4
5
import csv
5
6
import datetime as dt
6
7
import json
@@ -66,7 +67,7 @@ def write_csv(self) -> None:
66
67
csv_file .writeheader ()
67
68
csv_file .writerows (versions .values ())
68
69
69
- def write_svg (self ) -> None :
70
+ def write_svg (self , today : str ) -> None :
70
71
"""Output SVG file."""
71
72
env = jinja2 .Environment (
72
73
loader = jinja2 .FileSystemLoader ("_tools/" ),
@@ -123,17 +124,28 @@ def format_year(year: int) -> str:
123
124
years = range (first_date .year , last_date .year ),
124
125
LINE_HEIGHT = LINE_HEIGHT ,
125
126
versions = list (reversed (self .sorted_versions )),
126
- today = dt .date . today (),
127
+ today = dt .datetime . strptime ( today , "%Y-%m-%d" ). date (),
127
128
year_to_x = year_to_x ,
128
129
date_to_x = date_to_x ,
129
130
format_year = format_year ,
130
131
).dump (f )
131
132
132
133
133
134
def main () -> None :
135
+ parser = argparse .ArgumentParser (
136
+ description = __doc__ , formatter_class = argparse .ArgumentDefaultsHelpFormatter
137
+ )
138
+ parser .add_argument (
139
+ "--today" ,
140
+ default = str (dt .date .today ()),
141
+ metavar = " YYYY-MM-DD" ,
142
+ help = "Override today for testing" ,
143
+ )
144
+ args = parser .parse_args ()
145
+
134
146
versions = Versions ()
135
147
versions .write_csv ()
136
- versions .write_svg ()
148
+ versions .write_svg (args . today )
137
149
138
150
139
151
if __name__ == "__main__" :
You can’t perform that action at this time.
0 commit comments