diff --git a/borgweb/borg/urls.py b/borgweb/borg/urls.py index 5f4f991..06d7a6d 100644 --- a/borgweb/borg/urls.py +++ b/borgweb/borg/urls.py @@ -7,6 +7,7 @@ urlpatterns = [ path('', cache_page(60)(views.index), name='index'), path('repo_daily.json', cache_page(3600)(views.repo_daily_json), name='daily repo json'), path('repo_monthly.json', cache_page(3600 * 12)(views.repo_monthly_json), name='monthly repo json'), + path('repo_list.json', cache_page(3600)(views.repo_list), name='repo list'), path('repo/', cache_page(60)(views.repo), name='repo'), path('post/repo', views.post_repo, name='post repo'), path('post/archive', views.post_archive, name='post archive'), diff --git a/borgweb/borg/views/__init__.py b/borgweb/borg/views/__init__.py index 944d908..7a3fb6c 100644 --- a/borgweb/borg/views/__init__.py +++ b/borgweb/borg/views/__init__.py @@ -1,3 +1,3 @@ from .views import index, repo, axes from .post import post_repo, post_archive, post_error, post_location -from .json import repo_daily_json, repo_monthly_json +from .json import repo_daily_json, repo_monthly_json, repo_list diff --git a/borgweb/borg/views/json.py b/borgweb/borg/views/json.py index 3f3e673..70ea66a 100644 --- a/borgweb/borg/views/json.py +++ b/borgweb/borg/views/json.py @@ -1,10 +1,14 @@ from datetime import datetime, timedelta from django.http import JsonResponse -from ..models import Repo +from ..models import Repo, Label from ..utility import data from ..utility.time import last_day_previous_months +def repo_list(request): + return JsonResponse({'labels': [repo.label.label for repo in Repo.objects.all()]}) + + def repo_monthly_json(request, months_ago: int = 12): date_labels = [date.strftime("%b %Y") for date in last_day_previous_months(months_ago)]