summaryrefslogtreecommitdiff
path: root/bin/post_version.py
diff options
context:
space:
mode:
Diffstat (limited to 'bin/post_version.py')
-rwxr-xr-xbin/post_version.py43
1 files changed, 19 insertions, 24 deletions
diff --git a/bin/post_version.py b/bin/post_version.py
index 359cbd9012c..c4779f143d7 100755
--- a/bin/post_version.py
+++ b/bin/post_version.py
@@ -22,6 +22,7 @@
"""Update the main page, release notes, and calendar."""
import argparse
+import csv
import pathlib
import subprocess
@@ -52,30 +53,24 @@ def update_release_notes(version: str) -> None:
def update_calendar(version: str) -> None:
- p = pathlib.Path('docs') / 'release-calendar.rst'
-
- with open(p, 'r') as f:
- calendar = f.readlines()
-
- branch = ''
- skip_line = False
- new_calendar = []
- for line in calendar:
- if version in line:
- branch = line.split('|')[1].strip()
- skip_line = True
- elif skip_line:
- skip_line = False
- elif branch:
- # Put the branch number back on the next line
- new_calendar.append(line[:2] + branch + line[len(branch) + 2:])
- branch = ''
- else:
- new_calendar.append(line)
-
- with open(p, 'w') as f:
- for line in new_calendar:
- f.write(line)
+ p = pathlib.Path('docs') / 'release-calendar.csv'
+
+ with p.open('r') as f:
+ calendar = csv.reader(f)
+
+ branch = None
+ for i, line in enumerate(calendar):
+ if line[2] == version:
+ if line[0]:
+ branch = line[0]
+ break
+ if branch is not None:
+ calendar[i + 1][0] = branch
+ del calendar[i]
+
+ with p.open('w') as f:
+ writer = csv.writer(f)
+ writer.writerows(calendar)
subprocess.run(['git', 'add', p])