aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/apps/events/views/page.py
diff options
context:
space:
mode:
authorGravatar Joe Banks <[email protected]>2021-05-14 17:46:00 +0100
committerGravatar GitHub <[email protected]>2021-05-14 17:46:00 +0100
commit2836913d98e762d819d6d50ec668112077e8a3a9 (patch)
treeccb02577b40ad4c92b56c8c6d3ae1c53e90afe26 /pydis_site/apps/events/views/page.py
parentMerge pull request #486 from python-discord/bast0006-patch-error-page-margins (diff)
parentRemove stale dependency. (diff)
Merge pull request #487 from python-discord/dewikification
Diffstat (limited to 'pydis_site/apps/events/views/page.py')
-rw-r--r--pydis_site/apps/events/views/page.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/pydis_site/apps/events/views/page.py b/pydis_site/apps/events/views/page.py
new file mode 100644
index 00000000..1622ad70
--- /dev/null
+++ b/pydis_site/apps/events/views/page.py
@@ -0,0 +1,25 @@
+from typing import List
+
+from django.conf import settings
+from django.http import Http404
+from django.views.generic import TemplateView
+
+
+class PageView(TemplateView):
+ """Handles event pages showing."""
+
+ def get_template_names(self) -> List[str]:
+ """Get specific template names."""
+ path: str = self.kwargs['path']
+ page_path = settings.EVENTS_PAGES_PATH / path
+ if page_path.is_dir():
+ page_path = page_path / "_index.html"
+ path = f"{path}/_index.html"
+ else:
+ page_path = settings.EVENTS_PAGES_PATH / f"{path}.html"
+ path = f"{path}.html"
+
+ if not page_path.exists():
+ raise Http404
+
+ return [f"events/{settings.EVENTS_PAGES_PATH.name}/{path}"]