@@ -15,7 +15,7 @@ def format_date(date_str):
15
15
return datetime .strptime (date_str , date_format ).date ()
16
16
except ValueError :
17
17
pass # If the format doesn't match, move to the next one
18
-
18
+
19
19
raise ValueError (f"Date string '{ date_str } ' does not match any supported format." )
20
20
21
21
def capitalize (name ):
@@ -46,19 +46,49 @@ def convert_yaml_to_markdown(input_yaml_file, output_markdown_path):
46
46
47
47
file .write ("Date: {}\n \n " .format (data ['date' ]))
48
48
49
- for area in data ['changes' ]:
50
- file .write ("## {}\n " .format (capitalize (area ['area' ])))
51
- if 'change' in area :
52
- file .write (change_to_markdown (area ['change' ]) + '\n \n ' )
49
+ # old release notes format
50
+ if 'changes' in data :
51
+ for area in data ['changes' ]:
52
+ file .write ("## {}\n " .format (capitalize (area ['area' ])))
53
+ if 'change' in area :
54
+ file .write (change_to_markdown (area ['change' ]) + '\n \n ' )
55
+
56
+ if 'breaking-change' in area :
57
+ file .write ("### Breaking Changes\n " )
58
+ file .write (change_to_markdown (area ['breaking-change' ]) + '\n \n ' )
59
+
60
+ if 'deprecation' in area :
61
+ file .write ("### Deprecations\n " )
62
+ file .write (change_to_markdown (area ['deprecation' ]) + '\n \n ' )
63
+ # new release notes format
64
+ else :
65
+ if 'breaking changes' in data :
66
+ file .write ("## {}\n " .format (capitalize ('breaking changes' )))
67
+ file .write (change_to_markdown (data ['breaking changes' ]) + '\n \n ' )
68
+
69
+ if 'security updates' in data :
70
+ file .write ("## {}\n " .format (capitalize ('security updates' )))
71
+ file .write (change_to_markdown (data ['security updates' ]) + '\n \n ' )
72
+
73
+ if 'new features' in data :
74
+ file .write ("## {}\n " .format (capitalize ('new features' )))
75
+ file .write (change_to_markdown (data ['new features' ]) + '\n \n ' )
76
+
77
+ if 'bug fixes' in data :
78
+ file .write ("## {}\n " .format (capitalize ('bug fixes' )))
79
+ file .write (change_to_markdown (data ['bug fixes' ]) + '\n \n ' )
53
80
54
- if 'breaking-change ' in area :
55
- file .write ("### Breaking Changes \n " )
56
- file .write (change_to_markdown (area [ 'breaking-change ' ]) + '\n \n ' )
81
+ if 'performance improvements ' in data :
82
+ file .write ("## {} \n " . format ( capitalize ( 'performance improvements' )) )
83
+ file .write (change_to_markdown (data [ 'performance improvements ' ]) + '\n \n ' )
57
84
58
- if 'deprecation ' in area :
59
- file .write ("### Deprecations \n " )
60
- file .write (change_to_markdown (area [ 'deprecation ' ]) + '\n \n ' )
85
+ if 'deprecations ' in data :
86
+ file .write ("## {} \n " . format ( capitalize ( 'deprecations' )) )
87
+ file .write (change_to_markdown (data [ 'deprecations ' ]) + '\n \n ' )
61
88
89
+ if 'Other changes' in data :
90
+ file .write ("## {}\n " .format (capitalize ('Other changes' )))
91
+ file .write (change_to_markdown (data ['Other changes' ]) + '\n \n ' )
62
92
print ("Markdown file '{}' has been generated." .format (output_markdown_file ))
63
93
64
94
if __name__ == "__main__" :
@@ -68,4 +98,4 @@ def convert_yaml_to_markdown(input_yaml_file, output_markdown_path):
68
98
69
99
input_yaml_file = sys .argv [1 ]
70
100
output_markdown_path = sys .argv [2 ]
71
- convert_yaml_to_markdown (input_yaml_file , output_markdown_path )
101
+ convert_yaml_to_markdown (input_yaml_file , output_markdown_path )
0 commit comments