From 3c225ee4cf864e43b46a233d08e21009b6ff5982 Mon Sep 17 00:00:00 2001 From: Ross Date: Sun, 8 Aug 2021 11:52:36 +0100 Subject: [PATCH] . --- longs/templates/longs/long_series_viewer.html | 1 + longs/urls.py | 1 + longs/views.py | 9 +++++++++ requirements.txt | 3 ++- 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/longs/templates/longs/long_series_viewer.html b/longs/templates/longs/long_series_viewer.html index 0e2d30e3..247cdfc9 100755 --- a/longs/templates/longs/long_series_viewer.html +++ b/longs/templates/longs/long_series_viewer.html @@ -29,3 +29,4 @@ This series is not associated with any cases. {% endfor %}

Total image size: {{series.get_total_image_size|filesizeformat}}

+

Download images

diff --git a/longs/urls.py b/longs/urls.py index 367e1db5..20d361e0 100755 --- a/longs/urls.py +++ b/longs/urls.py @@ -12,6 +12,7 @@ urlpatterns = [ path("series/", views.LongSeriesView.as_view(), name="long_series_view"), path("series/", views.long_series_detail, name="long_series_detail"), path("series//order_dicom", views.long_series_order_dicom, name="long_series_order_dicom"), + path("series//download", views.SeriesImagesZipView.as_view(), name="long_series_download"), path("series//order_dicom_instance", views.long_series_order_dicom_instance, name="long_series_order_dicom_instance"), path("series//order_dicom_SeriesInstanceUID", views.long_series_order_dicom_SeriesInstanceUID, name="long_series_order_dicom_SeriesInstanceUID"), path("series//order_upload_filename", views.long_series_order_upload_filename, name="long_series_order_upload_filename"), diff --git a/longs/views.py b/longs/views.py index 337883a6..a9320a9d 100755 --- a/longs/views.py +++ b/longs/views.py @@ -67,6 +67,8 @@ from rest_framework import viewsets from .serializers import ExamSerializer +from zipview.views import BaseZipView + import os logger = logging.getLogger(__name__) @@ -1041,3 +1043,10 @@ def refresh_exam_question_json(request, pk): return redirect("longs:exam_overview", pk=pk) +class SeriesImagesZipView(BaseZipView): + """Download all images from an image series""" + + def get_files(self): + series = LongSeries.objects.get(pk=self.request.pk) + + return [i.file for i in series.images] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 7d262a39..857e0394 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,4 +18,5 @@ pydicom django-dbbackup django-hashedfilenamestorage djangorestframework -django-tinymce \ No newline at end of file +django-tinymce +django-zipview \ No newline at end of file