File tree 2 files changed +36
-1
lines changed
2 files changed +36
-1
lines changed Original file line number Diff line number Diff line change 36
36
import sys
37
37
import time
38
38
import typing
39
+ from packaging import version
40
+ from itertools import groupby
39
41
40
42
import feedparser
41
43
import jinja2
@@ -223,9 +225,20 @@ def home_add_releases(context):
223
225
with open (pathlib .Path (context ["target_path" ]) / "releases.json" , "w" ) as f :
224
226
json .dump (releases , f , default = datetime .datetime .isoformat )
225
227
226
- for release in releases :
228
+ non_obsolete_releases = []
229
+
230
+ # This is necessary for the versions to be properly grouped
231
+ releases = sorted (releases , key = lambda release :version .parse (release ["tag_name" ]), reverse = True )
232
+
233
+ for _ , group in groupby (releases , key = lambda release :
234
+ ((version .parse (release ["tag_name" ]).major ), version .parse (release ["tag_name" ]).minor )):
235
+
236
+ non_obsolete_releases .append (max (group , key = lambda release : version .parse (release ["tag_name" ])))
237
+
238
+ for release in non_obsolete_releases :
227
239
if release ["prerelease" ]:
228
240
continue
241
+
229
242
published = datetime .datetime .strptime (
230
243
release ["published_at" ], "%Y-%m-%dT%H:%M:%SZ"
231
244
)
Original file line number Diff line number Diff line change
1
+ import yaml
2
+ import os
3
+ # Not working in code. the pandas directory is set up for this, but not the web directory
4
+ from pandas_web import Preprocessors
5
+ import pytest
6
+
7
+ @pytest .fixture # I think this is fine
8
+ def test_home_releases_versions ():
9
+ context_path = os .path .join ('pandas/config.yml' )
10
+
11
+ # As it is, the home_add_releases function pull data from the github release page
12
+ # with an http request. After I run the function, I print the data out.
13
+ # In order to run custom data, you would need to modify the function in some way
14
+ with open (context_path , 'r' ) as context_file :
15
+ context = yaml .safe_load (context_file )
16
+
17
+ context ["target_path" ] = "build"
18
+
19
+ Preprocessors .home_add_releases (context )
20
+
21
+ for release in context ["releases" ]:
22
+ print (release )
You can’t perform that action at this time.
0 commit comments