diff --git a/generic/migrations/0025_cimarseriesthumbnail.py b/generic/migrations/0025_cimarseriesthumbnail.py new file mode 100644 index 00000000..35da1eeb --- /dev/null +++ b/generic/migrations/0025_cimarseriesthumbnail.py @@ -0,0 +1,21 @@ +# Generated by Django 5.1.4 on 2025-03-10 09:54 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('generic', '0024_cimarcase_series_data_cimarcase_study_schema'), + ] + + operations = [ + migrations.CreateModel( + name='CimarSeriesThumbnail', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('series_id', models.CharField(max_length=255)), + ('image', models.ImageField(upload_to='cimar_series_thumbnails')), + ], + ), + ] diff --git a/generic/models.py b/generic/models.py index 4a98d739..41a09206 100644 --- a/generic/models.py +++ b/generic/models.py @@ -54,6 +54,8 @@ from pygments.formatters import HtmlFormatter from django.contrib import admin from django.utils.safestring import mark_safe from django.template.loader import render_to_string +import requests +from django.core.files.base import ContentFile def get_pretty_json(data): @@ -1893,6 +1895,15 @@ class CimarCase(models.Model): series_data = [] for series in self.study_schema["series"]: + # Cache the thumbnail + #thumbnail_url = f"{self.get_series_image_thumbnail_link(series)}?{api.sid}" + #response = requests.get(thumbnail_url) + + #thumbnail = CimarSeriesThumbnail(series_id=series["id"]) + #thumbnail.image.save(f"{series['id']}.jpg", ContentFile(response.content)) + #thumbnail.save() + + series_data.append({ "series_id" : series["id"], "series_description" : series["description"], @@ -1902,6 +1913,7 @@ class CimarCase(models.Model): } ) + self.series_data = {} self.series_data["series"] = series_data @@ -1944,3 +1956,11 @@ class CimarCase(models.Model): image = series["images"][middle_point] return STORAGE_API_URL + f"/study/{self.study_details["storage_namespace"]}/{self.study_details["study_uid"]}/image/{image["id"]}/version/{image["version"]}/frame/0/thumbnail" + + +class CimarSeriesThumbnail(models.Model): + series_id = models.CharField(max_length=255) + image = models.ImageField(upload_to="cimar_series_thumbnails") + + def __str__(self): + return f"{self.series_id}" \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index bb17ddd5..86190d63 100644 --- a/templates/base.html +++ b/templates/base.html @@ -11,6 +11,7 @@ PENRA Courses {% endblock %} + {% comment %} {% endcomment %} diff --git a/templates/cimar_series.html b/templates/cimar_series.html index 9fd94236..187eab00 100644 --- a/templates/cimar_series.html +++ b/templates/cimar_series.html @@ -1,3 +1,4 @@ +