File tree Expand file tree Collapse file tree 3 files changed +35
-2
lines changed Expand file tree Collapse file tree 3 files changed +35
-2
lines changed Original file line number Diff line number Diff line change @@ -124,6 +124,27 @@ def get_version(self):
124
124
return version .group (1 )
125
125
return None
126
126
127
+ def is_version_at_least (self , min_version_tuple ):
128
+ v1 = []
129
+ for b in self .get_version ().split ('.' ):
130
+ try :
131
+ v1 .append (int (b ))
132
+ except ValueError :
133
+ break
134
+ # If v1 (us) is shorter than v2 (the comparand), it will always fail.
135
+ # Add zeros for the comparison.
136
+ while len (min_version_tuple ) > len (v1 ):
137
+ v1 .append (0 )
138
+ return tuple (v1 ) >= min_version_tuple
139
+
140
+ @property
141
+ def is_version_at_least_3_5 (self ):
142
+ return self .is_version_at_least ((3 , 5 ))
143
+
144
+ @property
145
+ def is_version_at_least_3_9 (self ):
146
+ return self .is_version_at_least ((3 , 9 ))
147
+
127
148
128
149
def update_supernav ():
129
150
latest_python3 = Release .objects .latest_python3 ()
Original file line number Diff line number Diff line change @@ -75,3 +75,15 @@ def test_get_version_invalid(self):
75
75
release = Release .objects .create (name = name )
76
76
self .assertEqual (release .name , name )
77
77
self .assertIsNone (release .get_version ())
78
+
79
+ def test_is_version_at_least (self ):
80
+ self .assertFalse (self .release_275 .is_version_at_least_3_5 )
81
+ self .assertFalse (self .release_275 .is_version_at_least_3_9 )
82
+
83
+ release_38 = Release .objects .create (name = 'Python 3.8.0' )
84
+ self .assertFalse (release_38 .is_version_at_least_3_9 )
85
+ self .assert_ (release_38 .is_version_at_least_3_5 )
86
+
87
+ release_310 = Release .objects .create (name = 'Python 3.10.0' )
88
+ self .assert_ (release_310 .is_version_at_least_3_9 )
89
+ self .assert_ (release_310 .is_version_at_least_3_5 )
Original file line number Diff line number Diff line change @@ -39,9 +39,9 @@ <h2>Stable Releases</h2>
39
39
< li >
40
40
< a href ="{{ r.get_absolute_url }} "> {{ r.name }} - {{ r.release_date|date }}</ a >
41
41
{% if os.slug == 'windows' %}
42
- {% if r.name > = 'Python 3.9' %}
42
+ {% if r.is_version_at_least_3_9 %}
43
43
< p > < strong > Note that {{ r.name }} < em > cannot</ em > be used on Windows 7 or earlier.</ strong > </ p >
44
- {% elif r.name > = 'Python 3.5' %}
44
+ {% elif r.is_version_at_least_3_5 %}
45
45
< p > < strong > Note that {{ r.name }} < em > cannot</ em > be used on Windows XP or earlier.</ strong > </ p >
46
46
{% endif %}
47
47
{% endif %}
You can’t perform that action at this time.
0 commit comments