From 6feeed09cb87834b0af4897f8d6f2c1b68e70d7a Mon Sep 17 00:00:00 2001
From: Vermaas <vermaas@astron.nl>
Date: Mon, 4 Mar 2024 08:41:19 +0100
Subject: [PATCH] update static

---
 atdb/taskdatabase/urls.py  |  1 -
 atdb/taskdatabase/views.py | 52 --------------------------------------
 2 files changed, 53 deletions(-)

diff --git a/atdb/taskdatabase/urls.py b/atdb/taskdatabase/urls.py
index c2210d56..e01d493c 100644
--- a/atdb/taskdatabase/urls.py
+++ b/atdb/taskdatabase/urls.py
@@ -86,7 +86,6 @@ urlpatterns = [
     path('monitor/<int:pk>/', views.MonitorDetailsViewAPI.as_view(),name='monitor-detail-view-api'),
     path('latest_monitor/', views.LatestMonitorListViewAPI.as_view(),name='latest-monitor-detail-view-api'),
     path('latest_monitor/<int:pk>/', views.LatestMonitorDetailsViewAPI.as_view(), name='latest-monitor-detail-view-api'),
-    path('create_status_graph/', views.CreateStatusGraph, name='create_status_graph'),
 
     path('monitor/clear_inactive_services/', views.ClearInactiveServices, name='clear-inactive-services'),
     # path('monitoring/service_hold_resume/<int:pk>/<enabled>', views.ServiceHoldResume, name='service-hold-resume'),
diff --git a/atdb/taskdatabase/views.py b/atdb/taskdatabase/views.py
index b5ee630e..8c78898f 100644
--- a/atdb/taskdatabase/views.py
+++ b/atdb/taskdatabase/views.py
@@ -1,7 +1,5 @@
 import logging
 import json
-from datetime import datetime, timedelta
-import matplotlib.pyplot as plt
 
 from . import config
 from django.contrib.auth.decorators import login_required
@@ -1146,56 +1144,6 @@ class LatestMonitorDetailsViewAPI(generics.RetrieveUpdateDestroyAPIView):
     serializer_class = LatestMonitorSerializer
 
 
-def CreateStatusGraph(request):
-
-    if request.method == 'POST':
-        status = request.POST.get('status', 'finished')
-        days_to_check = int(request.POST.get('days', 100))
-        bin_size = request.POST.get('bin_size', 'hour')
-
-        # Calculate the date x days ago
-        start_date = datetime.now() - timedelta(days=days_to_check)
-
-        if bin_size == 'hour':
-            hour_part = Func(F('timestamp'), function='EXTRACT', template='%(function)s(HOUR from %(expressions)s)',
-                             output_field=IntegerField())
-
-            queryset = Status.objects.filter(name=status, timestamp__gte=start_date) \
-                .annotate(time_bin=F('timestamp') -
-                                   hour_part *
-                                   ExpressionWrapper(DurationField(hours=1), output_field=IntegerField())) \
-                .values('time_bin') \
-                .annotate(num_records=Count('id')) \
-                .order_by('time_bin')
-
-
-        else:
-            queryset = Status.objects.filter(name=status, timestamp__gte=start_date) \
-                                          .annotate(time_bin=TruncDay('timestamp')) \
-                                          .values('time_bin') \
-                                          .annotate(num_records=Count('id')) \
-                                          .order_by('time_bin')
-
-        # Extract time bins and number of records from queryset
-        time_bins = [item['time_bin'] for item in queryset]
-        num_records = [item['num_records'] for item in queryset]
-
-        # Plot the graph
-        plt.figure(figsize=(10, 6))
-        plt.plot(time_bins, num_records, marker='o')
-        plt.xlabel(bin_size.capitalize())
-        plt.ylabel('Number of Records')
-        plt.title(f'{status} per {bin_size} for the last {days_to_check} days')
-        plt.xticks(rotation=45)
-        plt.grid(True)
-        plt.tight_layout()
-        plt.savefig('records_per_{}_{}_last_{}days.png'.format(bin_size, status, days_to_check))
-
-        # Render the template with the graph
-        return render(request, 'taskdatabase/graphs/status_graph.html')
-
-    return render(request, 'taskdatabase/graphs/status_graph_input_form.html')
-
 @login_required
 def ClearInactiveServices(request):
     LatestMonitor.objects.all().delete()
-- 
GitLab