From 9e9ab7b90768d010d4b81a207a9f030f5a5a10f7 Mon Sep 17 00:00:00 2001
From: Vermaas <vermaas@astron.nl>
Date: Fri, 14 Apr 2023 10:40:57 +0200
Subject: [PATCH] attempt to evaluate the plots url first

---
 atdb/taskdatabase/services/algorithms.py            | 9 ++++++++-
 atdb/taskdatabase/templates/taskdatabase/index.html | 2 +-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/atdb/taskdatabase/services/algorithms.py b/atdb/taskdatabase/services/algorithms.py
index 46a50d5b..4ed7164f 100644
--- a/atdb/taskdatabase/services/algorithms.py
+++ b/atdb/taskdatabase/services/algorithms.py
@@ -3,7 +3,7 @@
     Author: Nico Vermaas - Astron
     Description:  Business logic for ATDB. These functions are called from the views (views.py).
 """
-import json
+import requests
 from datetime import datetime, timedelta
 from django.db.models import Q, Sum
 import logging
@@ -708,6 +708,7 @@ def construct_inspectionplots(task,source='task_id'):
 
                 url = surl.replace(translation[0],translation[1])
                 results += '<tr><td><a href="' + url + '" target="_blank">'+ basename + '</a></td></tr>'
+
                 if basename.endswith('png'):
                     results += '<tr><td><a href="' + url + '" target="_blank"><img width="800" src="' + url + '" alt="' + basename + '"/></a></td></tr>'
 
@@ -747,6 +748,12 @@ def construct_inspectionplots(task,source='task_id'):
                         results += '<tr><td><a href="' + url + '" target="_blank">' + basename + '</a></td></tr>'
 
                         if basename.endswith('png'):
+                            # retrieve and evaluate the url first
+                            response = requests.get(url)
+                            if response.status_code!=200:
+                                # try again
+                                logger.error(response)
+
                             results += '<tr><td><a href="' + url + '" target="_blank"><img width="800" src="' + url + '" alt="'+basename+'"/></a></td></tr>'
 
                         plot_files.append(plot_file)
diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html
index b1857997..f516f91e 100644
--- a/atdb/taskdatabase/templates/taskdatabase/index.html
+++ b/atdb/taskdatabase/templates/taskdatabase/index.html
@@ -34,7 +34,7 @@
         {% include 'taskdatabase/pagination.html' %}
        </div>
     </div>
-    <p class="footer"> Version 6 April 2023
+    <p class="footer"> Version 14 April 2023
 
 </div>
 
-- 
GitLab