Skip to content

Commit 90d7d16

Browse files
committed
refactor: use ENUM for release page heading
1 parent bb61471 commit 90d7d16

1 file changed

Lines changed: 20 additions & 5 deletions

File tree

versions/views.py

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import structlog
22
from django.contrib.admin.views.decorators import staff_member_required
33
from django.db.models.query import QuerySet
4+
from enum import Enum
45
from itertools import groupby
56
from operator import attrgetter
67

@@ -152,16 +153,28 @@ def get_release_notes(self, obj):
152153
except RenderedContent.DoesNotExist:
153154
return
154155

156+
class VersionHeadingEnum(Enum):
157+
NEWEST_RELEASE = "Newest Release"
158+
LATEST_RELEASE = "Latest Release"
159+
BETA_RELEASE = "Beta Release"
160+
PRIOR_RELEASE = "Prior Release"
161+
DEVELOPMENT_BRANCH = "Development Branch"
162+
155163
def get_version_heading(self, obj, is_current_release, v3=False):
156164
"""Returns the heading of the versions template"""
157165
if is_current_release:
158-
return "Latest Release" if v3 else "Newest Release"
166+
heading = (
167+
self.VersionHeadingEnum.LATEST_RELEASE
168+
if v3
169+
else self.VersionHeadingEnum.NEWEST_RELEASE
170+
)
159171
elif all([not is_current_release, obj.beta]):
160-
return "Beta Release"
172+
heading = self.VersionHeadingEnum.BETA_RELEASE
161173
elif all([obj.full_release, not is_current_release]):
162-
return "Prior Release"
174+
heading = self.VersionHeadingEnum.PRIOR_RELEASE
163175
else:
164-
return "Development Branch"
176+
heading = self.VersionHeadingEnum.DEVELOPMENT_BRANCH
177+
return heading.value
165178

166179
def get_v3_contributors(self, version):
167180
"""Shape the release's top contributors for the v3 contributors card."""
@@ -174,7 +187,9 @@ def get_v3_context_data(self, **kwargs):
174187
obj = self.object
175188
is_current_release = self.extra_context["current_version"] == obj
176189
heading = self.get_version_heading(obj, is_current_release, v3=True)
177-
is_development_branch = heading == "Development Branch"
190+
is_development_branch = (
191+
heading == self.VersionHeadingEnum.DEVELOPMENT_BRANCH.value
192+
)
178193

179194
ctx = {
180195
"hero_title": f"{heading} ({obj.display_name})",

0 commit comments

Comments
 (0)