aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Hassan Abouelela <[email protected]>2022-08-13 01:53:19 +0200
committerGravatar Hassan Abouelela <[email protected]>2022-08-13 01:53:19 +0200
commitedcee093449fce833116ae3dbb15d6ccf3797652 (patch)
tree97037c6b40de103bc5939e02c4851d0676fa884d
parentMerge pull request #762 from python-discord/raise-static-builds (diff)
Add Setting For Static Builds
Adds an explicit setting for static builds instead of relying on the environment variable. Signed-off-by: Hassan Abouelela <[email protected]>
-rw-r--r--pydis_site/apps/home/views/home.py8
-rw-r--r--pydis_site/apps/redirect/urls.py2
-rw-r--r--pydis_site/settings.py8
-rw-r--r--pydis_site/urls.py4
4 files changed, 11 insertions, 11 deletions
diff --git a/pydis_site/apps/home/views/home.py b/pydis_site/apps/home/views/home.py
index 9bb1f8fd..8a165682 100644
--- a/pydis_site/apps/home/views/home.py
+++ b/pydis_site/apps/home/views/home.py
@@ -32,9 +32,7 @@ class HomeView(View):
def __init__(self):
"""Clean up stale RepositoryMetadata."""
- self._static_build = settings.env("STATIC_BUILD")
-
- if not self._static_build:
+ if not settings.STATIC_BUILD:
RepositoryMetadata.objects.exclude(repo_name__in=self.repos).delete()
# If no token is defined (for example in local development), then
@@ -94,7 +92,7 @@ class HomeView(View):
def _get_repo_data(self) -> List[RepositoryMetadata]:
"""Build a list of RepositoryMetadata objects that we can use to populate the front page."""
# First off, load the timestamp of the least recently updated entry.
- if self._static_build:
+ if settings.STATIC_BUILD:
last_update = None
else:
last_update = (
@@ -121,7 +119,7 @@ class HomeView(View):
for api_data in api_repositories.values()
]
- if settings.env("STATIC_BUILD"):
+ if settings.STATIC_BUILD:
return data
else:
return RepositoryMetadata.objects.bulk_create(data)
diff --git a/pydis_site/apps/redirect/urls.py b/pydis_site/apps/redirect/urls.py
index f7ddf45b..ed1564b0 100644
--- a/pydis_site/apps/redirect/urls.py
+++ b/pydis_site/apps/redirect/urls.py
@@ -31,7 +31,7 @@ class Redirect:
def map_redirect(name: str, data: Redirect) -> list[URLPattern]:
"""Return a pattern using the Redirects app, or a static HTML redirect for static builds."""
- if not settings.env("STATIC_BUILD"):
+ if not settings.STATIC_BUILD:
# Normal dynamic redirect
return [path(
data.original_path,
diff --git a/pydis_site/settings.py b/pydis_site/settings.py
index bbf1d3aa..315ea737 100644
--- a/pydis_site/settings.py
+++ b/pydis_site/settings.py
@@ -95,11 +95,13 @@ else:
)
SECRET_KEY = env('SECRET_KEY')
+STATIC_BUILD: bool = env("STATIC_BUILD")
+
# Application definition
NON_STATIC_APPS = [
'pydis_site.apps.api',
'pydis_site.apps.staff',
-] if not env("STATIC_BUILD") else []
+] if not STATIC_BUILD else []
INSTALLED_APPS = [
*NON_STATIC_APPS,
@@ -130,7 +132,7 @@ if not env("BUILDING_DOCKER"):
NON_STATIC_MIDDLEWARE = [
'django_prometheus.middleware.PrometheusBeforeMiddleware',
-] if not env("STATIC_BUILD") else []
+] if not STATIC_BUILD else []
# Ensure that Prometheus middlewares are first and last here.
MIDDLEWARE = [
@@ -175,7 +177,7 @@ WSGI_APPLICATION = 'pydis_site.wsgi.application'
DATABASES = {
'default': env.db(),
'metricity': env.db('METRICITY_DB_URL'),
-} if not env("STATIC_BUILD") else {}
+} if not STATIC_BUILD else {}
# Password validation
# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
diff --git a/pydis_site/urls.py b/pydis_site/urls.py
index 6cd31f26..0f2f6aeb 100644
--- a/pydis_site/urls.py
+++ b/pydis_site/urls.py
@@ -12,7 +12,7 @@ NON_STATIC_PATTERNS = [
path('pydis-api/', include('pydis_site.apps.api.urls', namespace='internal_api')),
path('', include('django_prometheus.urls')),
-] if not settings.env("STATIC_BUILD") else []
+] if not settings.STATIC_BUILD else []
urlpatterns = (
@@ -29,7 +29,7 @@ urlpatterns = (
)
-if not settings.env("STATIC_BUILD"):
+if not settings.STATIC_BUILD:
urlpatterns += (
path('staff/', include('pydis_site.apps.staff.urls', namespace='staff')),
)