File tree Expand file tree Collapse file tree 3 files changed +27
-3
lines changed Expand file tree Collapse file tree 3 files changed +27
-3
lines changed Original file line number Diff line number Diff line change @@ -56,6 +56,21 @@ def test_download(self):
5656 response = self .client .get (url )
5757 self .assertEqual (response .status_code , 200 )
5858
59+ def test_download_releases_ordered_by_version (self ):
60+ url = reverse ("download:download" )
61+ response = self .client .get (url )
62+ releases = response .context ["releases" ]
63+ self .assertEqual (
64+ releases ,
65+ [
66+ self .python_3 ,
67+ self .python_3_10_18 ,
68+ self .python_3_8_20 ,
69+ self .python_3_8_19 ,
70+ self .release_275 ,
71+ ],
72+ )
73+
5974 def test_latest_redirects (self ):
6075 latest_python2 = Release .objects .released ().python2 ().latest ()
6176 url = reverse ('download:download_latest_python2' )
Original file line number Diff line number Diff line change @@ -124,8 +124,17 @@ def get_context_data(self, **kwargs):
124124 data ['pymanager' ] = latest_pymanager .download_file_for_os (o .slug )
125125 python_files .append (data )
126126
127+ def version_key (release : Release ) -> tuple [int , ...]:
128+ try :
129+ return tuple (int (x ) for x in release .get_version ().split ("." ))
130+ except ValueError :
131+ return (0 ,)
132+
133+ releases = list (Release .objects .downloads ())
134+ releases .sort (key = version_key , reverse = True )
135+
127136 context .update ({
128- 'releases' : Release . objects . downloads () ,
137+ 'releases' : releases ,
129138 'latest_python2' : latest_python2 ,
130139 'latest_python3' : latest_python3 ,
131140 'python_files' : python_files ,
Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ <h1 class="call-to-action">Download the latest version of Python</h1>
5050 < div class ="row active-release-list-widget ">
5151 {% render_active_banner %}
5252
53- < h2 class ="widget-title "> Active Python Releases </ h2 >
53+ < h2 class ="widget-title "> Active Python releases </ h2 >
5454 < p class ="success-quote "> < a href ="https://devguide.python.org/versions/#versions "> For more information visit the Python Developer's Guide</ a > .</ p >
5555
5656 {% box 'downloads-active-releases' %}
@@ -74,7 +74,7 @@ <h2 class="widget-title">Looking for a specific release?</h2>
7474 < span class ="release-number "> < a href ="{{ r.get_absolute_url }} "> {{ r.name }}</ a > </ span >
7575 < span class ="release-date "> {{ r.release_date|date }}</ span >
7676 < span class ="release-download "> < a href ="{{ r.get_absolute_url }} "> < span aria-hidden ="true " class ="icon-download "> </ span > Download</ a > </ span >
77- < span class ="release-enhancements "> < a href ="{{ r.release_notes_url }} "> Release Notes </ a > </ span >
77+ < span class ="release-enhancements "> < a href ="{{ r.release_notes_url }} "> Release notes </ a > </ span >
7878 </ li >
7979 {% endfor %}
8080 </ ol >
You can’t perform that action at this time.
0 commit comments