From f29472a56f925127a077c4cadcc13fa852dc665b Mon Sep 17 00:00:00 2001 From: Leon Sandøy Date: Sat, 13 Apr 2019 16:16:11 +0200 Subject: refactoring slightly to use a class-based view, changing home to main. Ready to write the API search stuff now. --- pydis_site/apps/home/__init__.py | 0 pydis_site/apps/home/admin.py | 3 -- pydis_site/apps/home/apps.py | 5 --- pydis_site/apps/home/migrations/__init__.py | 0 pydis_site/apps/home/models.py | 3 -- pydis_site/apps/home/templatetags/__init__.py | 0 pydis_site/apps/home/templatetags/extra_filters.py | 8 ---- pydis_site/apps/home/tests.py | 9 ----- pydis_site/apps/home/urls.py | 10 ----- pydis_site/apps/home/views.py | 3 -- pydis_site/apps/main/__init__.py | 0 pydis_site/apps/main/admin.py | 3 ++ pydis_site/apps/main/apps.py | 5 +++ pydis_site/apps/main/migrations/__init__.py | 0 pydis_site/apps/main/models.py | 3 ++ pydis_site/apps/main/templatetags/__init__.py | 0 pydis_site/apps/main/templatetags/extra_filters.py | 8 ++++ pydis_site/apps/main/tests.py | 9 +++++ pydis_site/apps/main/urls.py | 11 +++++ pydis_site/apps/main/views/__init__.py | 3 ++ pydis_site/apps/main/views/home.py | 47 ++++++++++++++++++++++ pydis_site/apps/wiki/__init__.py | 0 pydis_site/apps/wiki/admin.py | 3 -- pydis_site/apps/wiki/apps.py | 5 --- pydis_site/apps/wiki/migrations/__init__.py | 0 pydis_site/apps/wiki/models.py | 3 -- pydis_site/apps/wiki/tests.py | 3 -- pydis_site/apps/wiki/views.py | 3 -- 28 files changed, 89 insertions(+), 58 deletions(-) delete mode 100644 pydis_site/apps/home/__init__.py delete mode 100644 pydis_site/apps/home/admin.py delete mode 100644 pydis_site/apps/home/apps.py delete mode 100644 pydis_site/apps/home/migrations/__init__.py delete mode 100644 pydis_site/apps/home/models.py delete mode 100644 pydis_site/apps/home/templatetags/__init__.py delete mode 100644 pydis_site/apps/home/templatetags/extra_filters.py delete mode 100644 pydis_site/apps/home/tests.py delete mode 100644 pydis_site/apps/home/urls.py delete mode 100644 pydis_site/apps/home/views.py create mode 100644 pydis_site/apps/main/__init__.py create mode 100644 pydis_site/apps/main/admin.py create mode 100644 pydis_site/apps/main/apps.py create mode 100644 pydis_site/apps/main/migrations/__init__.py create mode 100644 pydis_site/apps/main/models.py create mode 100644 pydis_site/apps/main/templatetags/__init__.py create mode 100644 pydis_site/apps/main/templatetags/extra_filters.py create mode 100644 pydis_site/apps/main/tests.py create mode 100644 pydis_site/apps/main/urls.py create mode 100644 pydis_site/apps/main/views/__init__.py create mode 100644 pydis_site/apps/main/views/home.py delete mode 100644 pydis_site/apps/wiki/__init__.py delete mode 100644 pydis_site/apps/wiki/admin.py delete mode 100644 pydis_site/apps/wiki/apps.py delete mode 100644 pydis_site/apps/wiki/migrations/__init__.py delete mode 100644 pydis_site/apps/wiki/models.py delete mode 100644 pydis_site/apps/wiki/tests.py delete mode 100644 pydis_site/apps/wiki/views.py (limited to 'pydis_site/apps') diff --git a/pydis_site/apps/home/__init__.py b/pydis_site/apps/home/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/pydis_site/apps/home/admin.py b/pydis_site/apps/home/admin.py deleted file mode 100644 index 4185d360..00000000 --- a/pydis_site/apps/home/admin.py +++ /dev/null @@ -1,3 +0,0 @@ -# from django.contrib import admin - -# Register your models here. diff --git a/pydis_site/apps/home/apps.py b/pydis_site/apps/home/apps.py deleted file mode 100644 index 90dc7137..00000000 --- a/pydis_site/apps/home/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class HomeConfig(AppConfig): - name = 'home' diff --git a/pydis_site/apps/home/migrations/__init__.py b/pydis_site/apps/home/migrations/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/pydis_site/apps/home/models.py b/pydis_site/apps/home/models.py deleted file mode 100644 index 0b4331b3..00000000 --- a/pydis_site/apps/home/models.py +++ /dev/null @@ -1,3 +0,0 @@ -# from django.db import models - -# Create your models here. diff --git a/pydis_site/apps/home/templatetags/__init__.py b/pydis_site/apps/home/templatetags/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/pydis_site/apps/home/templatetags/extra_filters.py b/pydis_site/apps/home/templatetags/extra_filters.py deleted file mode 100644 index edffe9ac..00000000 --- a/pydis_site/apps/home/templatetags/extra_filters.py +++ /dev/null @@ -1,8 +0,0 @@ -from django import template - -register = template.Library() - - -@register.filter -def starts_with(value: str, arg: str): - return value.startswith(arg) diff --git a/pydis_site/apps/home/tests.py b/pydis_site/apps/home/tests.py deleted file mode 100644 index 54fac6e8..00000000 --- a/pydis_site/apps/home/tests.py +++ /dev/null @@ -1,9 +0,0 @@ -from django.test import TestCase -from django_hosts.resolvers import reverse - - -class TestIndexReturns200(TestCase): - def test_index_returns_200(self): - url = reverse('index') - resp = self.client.get(url) - self.assertEqual(resp.status_code, 200) diff --git a/pydis_site/apps/home/urls.py b/pydis_site/apps/home/urls.py deleted file mode 100644 index 56525af8..00000000 --- a/pydis_site/apps/home/urls.py +++ /dev/null @@ -1,10 +0,0 @@ -from django.contrib import admin -from django.urls import path -from django.views.generic import TemplateView - - -app_name = 'home' -urlpatterns = [ - path('', TemplateView.as_view(template_name='home/index.html'), name='home.index'), - path('admin/', admin.site.urls) -] diff --git a/pydis_site/apps/home/views.py b/pydis_site/apps/home/views.py deleted file mode 100644 index fd0e0449..00000000 --- a/pydis_site/apps/home/views.py +++ /dev/null @@ -1,3 +0,0 @@ -# from django.shortcuts import render - -# Create your views here. diff --git a/pydis_site/apps/main/__init__.py b/pydis_site/apps/main/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pydis_site/apps/main/admin.py b/pydis_site/apps/main/admin.py new file mode 100644 index 00000000..4185d360 --- /dev/null +++ b/pydis_site/apps/main/admin.py @@ -0,0 +1,3 @@ +# from django.contrib import admin + +# Register your models here. diff --git a/pydis_site/apps/main/apps.py b/pydis_site/apps/main/apps.py new file mode 100644 index 00000000..90dc7137 --- /dev/null +++ b/pydis_site/apps/main/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class HomeConfig(AppConfig): + name = 'home' diff --git a/pydis_site/apps/main/migrations/__init__.py b/pydis_site/apps/main/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pydis_site/apps/main/models.py b/pydis_site/apps/main/models.py new file mode 100644 index 00000000..0b4331b3 --- /dev/null +++ b/pydis_site/apps/main/models.py @@ -0,0 +1,3 @@ +# from django.db import models + +# Create your models here. diff --git a/pydis_site/apps/main/templatetags/__init__.py b/pydis_site/apps/main/templatetags/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pydis_site/apps/main/templatetags/extra_filters.py b/pydis_site/apps/main/templatetags/extra_filters.py new file mode 100644 index 00000000..edffe9ac --- /dev/null +++ b/pydis_site/apps/main/templatetags/extra_filters.py @@ -0,0 +1,8 @@ +from django import template + +register = template.Library() + + +@register.filter +def starts_with(value: str, arg: str): + return value.startswith(arg) diff --git a/pydis_site/apps/main/tests.py b/pydis_site/apps/main/tests.py new file mode 100644 index 00000000..54fac6e8 --- /dev/null +++ b/pydis_site/apps/main/tests.py @@ -0,0 +1,9 @@ +from django.test import TestCase +from django_hosts.resolvers import reverse + + +class TestIndexReturns200(TestCase): + def test_index_returns_200(self): + url = reverse('index') + resp = self.client.get(url) + self.assertEqual(resp.status_code, 200) diff --git a/pydis_site/apps/main/urls.py b/pydis_site/apps/main/urls.py new file mode 100644 index 00000000..11142040 --- /dev/null +++ b/pydis_site/apps/main/urls.py @@ -0,0 +1,11 @@ +from django.contrib import admin +from django.urls import path + +from .views import Home + + +app_name = 'home' +urlpatterns = [ + path('', Home.as_view(), name='home.index'), + path('admin/', admin.site.urls) +] diff --git a/pydis_site/apps/main/views/__init__.py b/pydis_site/apps/main/views/__init__.py new file mode 100644 index 00000000..ab52894b --- /dev/null +++ b/pydis_site/apps/main/views/__init__.py @@ -0,0 +1,3 @@ +from .home import Home + +__all__ = ["Home"] diff --git a/pydis_site/apps/main/views/home.py b/pydis_site/apps/main/views/home.py new file mode 100644 index 00000000..8f45b912 --- /dev/null +++ b/pydis_site/apps/main/views/home.py @@ -0,0 +1,47 @@ +import requests +from django.shortcuts import render +from django.views import View + + + +class Home(View): + + projects = [ + "site", + "bot", + "snekbox", + "seasonalbot", + "django-simple-bulma", + "django-crispy-bulma", + ] + + def _get_repo_data(self): + """ + This will get language, stars and forks for the projects listed in Home.projects. + + Returns a dictionary with the data, in a template-friendly manner. The rate limit for + this particular endpoint is 30 requests per minute. This should be plenty for now, + but if we ever run into rate limiting issues, we should implement some form of caching + for this data. + """ + + # Gotta authenticate, or we get terrible rate limits. + + # We need to query the Search API https://developer.github.com/v3/search/, using a single + # query to query for all of the projects at the same time, and making sure we cache that data + # and make the request no more often than once per minute or something reasonable + # like that. + + endpoint = "https://api.github.com/search/repositories?q=" + "repo+name+separated+by+pluses" + + # And finally + + + + + + + def get(self, request): + + # Call the GitHub API and ask it for some data + return render(request, "home/index.html", {}) diff --git a/pydis_site/apps/wiki/__init__.py b/pydis_site/apps/wiki/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/pydis_site/apps/wiki/admin.py b/pydis_site/apps/wiki/admin.py deleted file mode 100644 index 4185d360..00000000 --- a/pydis_site/apps/wiki/admin.py +++ /dev/null @@ -1,3 +0,0 @@ -# from django.contrib import admin - -# Register your models here. diff --git a/pydis_site/apps/wiki/apps.py b/pydis_site/apps/wiki/apps.py deleted file mode 100644 index fce4708e..00000000 --- a/pydis_site/apps/wiki/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class WikiConfig(AppConfig): - name = 'wiki' diff --git a/pydis_site/apps/wiki/migrations/__init__.py b/pydis_site/apps/wiki/migrations/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/pydis_site/apps/wiki/models.py b/pydis_site/apps/wiki/models.py deleted file mode 100644 index 0b4331b3..00000000 --- a/pydis_site/apps/wiki/models.py +++ /dev/null @@ -1,3 +0,0 @@ -# from django.db import models - -# Create your models here. diff --git a/pydis_site/apps/wiki/tests.py b/pydis_site/apps/wiki/tests.py deleted file mode 100644 index a79ca8be..00000000 --- a/pydis_site/apps/wiki/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -# from django.test import TestCase - -# Create your tests here. diff --git a/pydis_site/apps/wiki/views.py b/pydis_site/apps/wiki/views.py deleted file mode 100644 index fd0e0449..00000000 --- a/pydis_site/apps/wiki/views.py +++ /dev/null @@ -1,3 +0,0 @@ -# from django.shortcuts import render - -# Create your views here. -- cgit v1.2.3