diff --git a/atdb/atdb/settings/base.py b/atdb/atdb/settings/base.py index 44ee30e981054689d74b66d045b2be17330fdd98..fc212fbe894e98bdaec3511d8669c44fe2fa5cfb 100644 --- a/atdb/atdb/settings/base.py +++ b/atdb/atdb/settings/base.py @@ -165,8 +165,8 @@ LOGGING = { }, 'loggers': { 'taskdatabase': { - 'handlers': ['my_handler','mail_admins'], - # 'handlers': ['my_handler', 'my_file_handler', 'mail_admins'], + #'handlers': ['my_handler','mail_admins'], + 'handlers': ['my_handler', 'my_file_handler'], 'level': 'INFO', }, 'django': { diff --git a/atdb/logs/atdb.log b/atdb/logs/atdb.log index f09c58db98621e7eedb3b08d0b16b83f118ec635..a16fd1f649461e06832f5360d559262c889244ac 100644 --- a/atdb/logs/atdb.log +++ b/atdb/logs/atdb.log @@ -155328,3 +155328,9 @@ [2020-01-24 10:55:57,471] SIGNAL : pre_save Observation(191002141) [2020-01-24 10:55:57,471] handle_pre_save(191002141) [2020-01-24 10:55:57,485] handle_post_save(191002141) +[14/Apr/2023 11:21:35,862] 'ascii' codec can't decode byte 0x89 in position 0: ordinal not in range(128) +[14/Apr/2023 11:21:35,864] task 25485 - (regular) - 146233 has no plots, skipped. +[14/Apr/2023 11:21:39,651] 'ascii' codec can't decode byte 0x89 in position 0: ordinal not in range(128) +[14/Apr/2023 11:21:39,652] task 25485 - (regular) - 146233 has no plots, skipped. +[14/Apr/2023 11:26:20,724] can only concatenate str (not "bytes") to str +[14/Apr/2023 11:26:20,725] task 25485 - (regular) - 146233 has no plots, skipped. diff --git a/atdb/taskdatabase/services/algorithms.py b/atdb/taskdatabase/services/algorithms.py index 4ed7164f24cd2017fd4118bab319df089e697a9f..bdcdc4ced9edf9d324f601add44eceb1d14b0047 100644 --- a/atdb/taskdatabase/services/algorithms.py +++ b/atdb/taskdatabase/services/algorithms.py @@ -4,6 +4,7 @@ Description: Business logic for ATDB. These functions are called from the views (views.py). """ import requests +import base64 from datetime import datetime, timedelta from django.db.models import Q, Sum import logging @@ -749,16 +750,18 @@ def construct_inspectionplots(task,source='task_id'): if basename.endswith('png'): # retrieve and evaluate the url first + #logger.info('retrieve '+url) response = requests.get(url) - if response.status_code!=200: - # try again - logger.error(response) + content_as_string = base64.b64encode(response.content).decode("utf-8") + img_html = '<img width="800" src = "data:image/png;base64,' + content_as_string + '">' - results += '<tr><td><a href="' + url + '" target="_blank"><img width="800" src="' + url + '" alt="'+basename+'"/></a></td></tr>' +# results += '<tr><td><a href="' + url + '" target="_blank"><img width="800" src="' + url + '" alt="'+basename+'"/></a></td></tr>' + results += '<tr><td><a href="' + url + '" target="_blank">' + img_html+ '</a></td></tr>' plot_files.append(plot_file) except Exception as error: + logger.error(error) logger.info('task ' + str(task) + ' has no plots, skipped.') return results