aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site
diff options
context:
space:
mode:
Diffstat (limited to 'pydis_site')
-rw-r--r--pydis_site/apps/content/tests/test_utils.py4
-rw-r--r--pydis_site/apps/content/tests/test_views.py12
-rw-r--r--pydis_site/apps/content/urls.py6
-rw-r--r--pydis_site/apps/content/utils.py12
-rw-r--r--pydis_site/apps/content/views/__init__.py2
-rw-r--r--pydis_site/apps/content/views/article.py9
-rw-r--r--pydis_site/apps/content/views/articles.py8
-rw-r--r--pydis_site/apps/content/views/category.py8
8 files changed, 42 insertions, 19 deletions
diff --git a/pydis_site/apps/content/tests/test_utils.py b/pydis_site/apps/content/tests/test_utils.py
index bba998fe..9c7c4f31 100644
--- a/pydis_site/apps/content/tests/test_utils.py
+++ b/pydis_site/apps/content/tests/test_utils.py
@@ -47,7 +47,9 @@ class TestGetCategories(TestCase):
with patch("pydis_site.apps.content.utils._get_base_path", return_value=BASE_PATH):
result = utils.get_categories()
- self.assertEqual(result, {"category": {"name": "My Category", "description": "My Description"}})
+ self.assertEqual(
+ result, {"category": {"name": "My Category", "description": "My Description"}}
+ )
class TestGetArticles(TestCase):
diff --git a/pydis_site/apps/content/tests/test_views.py b/pydis_site/apps/content/tests/test_views.py
index 98054534..0901c67f 100644
--- a/pydis_site/apps/content/tests/test_views.py
+++ b/pydis_site/apps/content/tests/test_views.py
@@ -21,10 +21,9 @@ class TestGuidesIndexView(TestCase):
class TestGuideView(TestCase):
- @patch("pydis_site.apps.content.views.article.os.path.getmtime")
@patch("pydis_site.apps.content.views.article.get_article")
@patch("pydis_site.apps.content.views.article.get_category")
- def test_guide_return_code_200(self, get_category_mock, get_article_mock, get_time_mock):
+ def test_guide_return_code_200(self, get_category_mock, get_article_mock):
get_article_mock.return_value = {"guide": "test", "metadata": {}}
url = reverse("content:article", args=["test-guide"])
@@ -33,10 +32,9 @@ class TestGuideView(TestCase):
get_category_mock.assert_not_called()
get_article_mock.assert_called_once_with("test-guide", None)
- @patch("pydis_site.apps.content.views.article.os.path.getmtime")
@patch("pydis_site.apps.content.views.article.get_article")
@patch("pydis_site.apps.content.views.article.get_category")
- def test_guide_return_404(self, get_category_mock, get_article_mock, get_time_mock):
+ def test_guide_return_404(self, get_category_mock, get_article_mock):
"""Check that return code is 404 when invalid article provided."""
get_article_mock.side_effect = Http404("Article not found.")
@@ -77,10 +75,9 @@ class TestCategoryView(TestCase):
class TestCategoryGuidesView(TestCase):
- @patch("pydis_site.apps.content.views.article.os.path.getmtime")
@patch("pydis_site.apps.content.views.article.get_article")
@patch("pydis_site.apps.content.views.article.get_category")
- def test_valid_category_article_code_200(self, get_category_mock, get_article_mock, get_time_mock):
+ def test_valid_category_article_code_200(self, get_category_mock, get_article_mock):
"""Check that return code is 200 when visiting valid category article."""
get_article_mock.return_value = {"guide": "test", "metadata": {}}
@@ -90,10 +87,9 @@ class TestCategoryGuidesView(TestCase):
get_article_mock.assert_called_once_with("test3", "category")
get_category_mock.assert_called_once_with("category")
- @patch("pydis_site.apps.content.views.article.os.path.getmtime")
@patch("pydis_site.apps.content.views.article.get_article")
@patch("pydis_site.apps.content.views.article.get_category")
- def test_invalid_category_article_code_404(self, get_category_mock, get_article_mock, get_time_mock):
+ def test_invalid_category_article_code_404(self, get_category_mock, get_article_mock):
"""Check that return code is 200 when trying to visit invalid category article."""
get_article_mock.side_effect = Http404("Article not found.")
diff --git a/pydis_site/apps/content/urls.py b/pydis_site/apps/content/urls.py
index ae9b1e57..5a4ee37a 100644
--- a/pydis_site/apps/content/urls.py
+++ b/pydis_site/apps/content/urls.py
@@ -6,6 +6,10 @@ app_name = "content"
urlpatterns = [
path("", views.ArticlesView.as_view(), name='content'),
path("category/<str:category>/", views.CategoryView.as_view(), name='category'),
- path("category/<str:category>/<str:article>/", views.ArticleView.as_view(), name='category_article'),
+ path(
+ "category/<str:category>/<str:article>/",
+ views.ArticleView.as_view(),
+ name='category_article'
+ ),
path("<str:article>/", views.ArticleView.as_view(), name='article')
]
diff --git a/pydis_site/apps/content/utils.py b/pydis_site/apps/content/utils.py
index b2451745..e164c39f 100644
--- a/pydis_site/apps/content/utils.py
+++ b/pydis_site/apps/content/utils.py
@@ -35,7 +35,7 @@ def get_categories() -> Dict[str, Dict]:
def get_articles(category: Optional[str] = None) -> Dict[str, Dict]:
- """Get all root content when category is not specified. Otherwise get all this category content."""
+ """Get all root or category articles."""
if category is None:
base_dir = _get_base_path()
else:
@@ -67,7 +67,15 @@ def get_article(article: str, category: Optional[str]) -> Dict[str, Union[str, D
html = markdown(
article_path.read_text(),
- extras=["metadata", "fenced-code-blocks", "header-ids", "strike", "target-blank-links", "tables", "task_list"]
+ extras=[
+ "metadata",
+ "fenced-code-blocks",
+ "header-ids",
+ "strike",
+ "target-blank-links",
+ "tables",
+ "task_list"
+ ]
)
return {"article": str(html), "metadata": html.metadata}
diff --git a/pydis_site/apps/content/views/__init__.py b/pydis_site/apps/content/views/__init__.py
index b50d487b..616bc850 100644
--- a/pydis_site/apps/content/views/__init__.py
+++ b/pydis_site/apps/content/views/__init__.py
@@ -1,5 +1,5 @@
-from .category import CategoryView
from .article import ArticleView
from .articles import ArticlesView
+from .category import CategoryView
__all__ = ["ArticleView", "ArticlesView", "CategoryView"]
diff --git a/pydis_site/apps/content/views/article.py b/pydis_site/apps/content/views/article.py
index 51c9a199..f4c834db 100644
--- a/pydis_site/apps/content/views/article.py
+++ b/pydis_site/apps/content/views/article.py
@@ -5,13 +5,18 @@ from django.http import HttpResponse
from django.shortcuts import render
from django.views import View
-from pydis_site.apps.content.utils import get_category, get_article
+from pydis_site.apps.content.utils import get_article, get_category
class ArticleView(View):
"""Shows specific guide page."""
- def get(self, request: WSGIRequest, article: str, category: Optional[str] = None) -> HttpResponse:
+ def get(
+ self,
+ request: WSGIRequest,
+ article: str,
+ category: Optional[str] = None
+ ) -> HttpResponse:
"""Collect guide content and display it. When guide don't exist, return 404."""
article_result = get_article(article, category)
diff --git a/pydis_site/apps/content/views/articles.py b/pydis_site/apps/content/views/articles.py
index ff945a19..cce601e1 100644
--- a/pydis_site/apps/content/views/articles.py
+++ b/pydis_site/apps/content/views/articles.py
@@ -3,7 +3,7 @@ from django.http import HttpResponse
from django.shortcuts import render
from django.views import View
-from pydis_site.apps.content.utils import get_categories, get_articles
+from pydis_site.apps.content.utils import get_articles, get_categories
class ArticlesView(View):
@@ -11,4 +11,8 @@ class ArticlesView(View):
def get(self, request: WSGIRequest) -> HttpResponse:
"""Shows all content and categories."""
- return render(request, "content/articles.html", {"content": get_articles(), "categories": get_categories()})
+ return render(
+ request,
+ "content/articles.html",
+ {"content": get_articles(), "categories": get_categories()}
+ )
diff --git a/pydis_site/apps/content/views/category.py b/pydis_site/apps/content/views/category.py
index 62e80a47..9d2a978e 100644
--- a/pydis_site/apps/content/views/category.py
+++ b/pydis_site/apps/content/views/category.py
@@ -3,7 +3,7 @@ from django.http import HttpResponse
from django.shortcuts import render
from django.views import View
-from pydis_site.apps.content.utils import get_category, get_articles
+from pydis_site.apps.content.utils import get_articles, get_category
class CategoryView(View):
@@ -14,5 +14,9 @@ class CategoryView(View):
return render(
request,
"content/category.html",
- {"category_info": get_category(category), "content": get_articles(category), "category_name": category}
+ {
+ "category_info": get_category(category),
+ "content": get_articles(category),
+ "category_name": category
+ }
)