diff options
| -rw-r--r-- | pydis_site/apps/content/tests/test_utils.py | 4 | ||||
| -rw-r--r-- | pydis_site/apps/content/tests/test_views.py | 12 | ||||
| -rw-r--r-- | pydis_site/apps/content/urls.py | 6 | ||||
| -rw-r--r-- | pydis_site/apps/content/utils.py | 12 | ||||
| -rw-r--r-- | pydis_site/apps/content/views/__init__.py | 2 | ||||
| -rw-r--r-- | pydis_site/apps/content/views/article.py | 9 | ||||
| -rw-r--r-- | pydis_site/apps/content/views/articles.py | 8 | ||||
| -rw-r--r-- | pydis_site/apps/content/views/category.py | 8 | 
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 +            }          ) | 
