endoreg-db 0.8.5.6__py3-none-any.whl → 0.8.5.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of endoreg-db might be problematic. Click here for more details.

@@ -547,7 +547,13 @@ class VideoFile(models.Model):
547
547
  self.sensitive_meta = SensitiveMeta.create_from_dict(default_data)
548
548
 
549
549
  # CRITICAL FIX: Delete RAW video file, not the processed (anonymized) one
550
- # After validation, only the anonymized video should remain
550
+ # CRITICAL: Update metadata BEFORE deleting raw video
551
+ # Metadata update may trigger frame extraction, which needs raw video
552
+ sensitive_meta = _update_text_metadata(
553
+ self, extracted_data_dict, overwrite=True
554
+ )
555
+
556
+ # After validation and metadata update, only the anonymized video should remain
551
557
  from .video_file_io import _get_raw_file_path
552
558
 
553
559
  raw_path = _get_raw_file_path(self)
@@ -563,11 +569,6 @@ class VideoFile(models.Model):
563
569
  else:
564
570
  logger.warning(f"Raw video file not found for deletion: {self.uuid}")
565
571
 
566
- # Update sensitive metadata with user annotations
567
- sensitive_meta = _update_text_metadata(
568
- self, extracted_data_dict, overwrite=True
569
- )
570
-
571
572
  if sensitive_meta:
572
573
  # Mark as processed after validation
573
574
  self.get_or_create_state().mark_sensitive_meta_processed(save=True)
@@ -1,5 +1,5 @@
1
1
  from .file_overview import FileOverviewSerializer
2
- from .vop_patient_data import VoPPatientDataSerializer
2
+ from .sensitive_patient_data import VoPPatientDataSerializer
3
3
  from .stats import StatsSerializer
4
4
  from .upload_job import UploadJobStatusSerializer, UploadCreateResponseSerializer
5
5
  from .translatable_field_mix_in import TranslatableFieldMixin
@@ -80,7 +80,7 @@ class VoPPatientDataSerializer(serializers.Serializer):
80
80
 
81
81
  elif isinstance(instance, RawPdfFile):
82
82
  # Generate PDF streaming URL using pdf_id (RawPdfFile.id)
83
- pdf_stream_url = f"/api/pdfstream/{instance.pk}/"
83
+ pdf_stream_url = f"/api/media/pdfs/{instance.pk}/stream/"
84
84
 
85
85
  return {
86
86
  "id": instance.pk,
@@ -859,6 +859,14 @@ class PdfImportService:
859
859
  if self.processing_context.get("text_extracted") and state:
860
860
  state.mark_anonymized()
861
861
 
862
+ # Mark as ready for validation after successful anonymization
863
+ if self.processing_context.get("anonymization_completed") and state:
864
+ state.mark_sensitive_meta_processed()
865
+ logger.info(
866
+ f"PDF {self.current_pdf.pdf_hash} processing completed - "
867
+ f"ready for validation (status: {state.anonymization_status})"
868
+ )
869
+
862
870
  # Save all changes
863
871
  with transaction.atomic():
864
872
  self.current_pdf.save()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: endoreg-db
3
- Version: 0.8.5.6
3
+ Version: 0.8.5.8
4
4
  Summary: EndoReg Db Django App
5
5
  Project-URL: Homepage, https://info.coloreg.de
6
6
  Project-URL: Repository, https://github.com/wg-lux/endoreg-db
@@ -390,7 +390,7 @@ endoreg_db/models/media/video/create_from_file.py,sha256=3n4bbzFteEOFDUuEikP0x-S
390
390
  endoreg_db/models/media/video/pipe_1.py,sha256=ljO3vO2mqqTXLZsKjzMTC6-sW4JRWMVRfJcK0n5CjKg,9740
391
391
  endoreg_db/models/media/video/pipe_2.py,sha256=DnMxW0uOqSsf7-0n9Rlvn7u89U4Jpkv7n6hFpQfUjkQ,4964
392
392
  endoreg_db/models/media/video/refactor_plan.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
393
- endoreg_db/models/media/video/video_file.py,sha256=TULxjYp2vY-uQkSIAACkDY_cXIyApqFM9iQeojKQXuQ,30179
393
+ endoreg_db/models/media/video/video_file.py,sha256=VFRgP1QRtuxzE9l74tCW7Kz5leHdv5d5i3aqtH3Y1vA,30281
394
394
  endoreg_db/models/media/video/video_file_ai.py,sha256=3ABea52FOF1qlrlxHdYhz_M3Kmqfzqtgq7M0prl-FAo,18819
395
395
  endoreg_db/models/media/video/video_file_anonymize.py,sha256=pet1UfSsbSHJJZxq6gDPifAfBWpGyEpD1jEQuSQi0Gg,16027
396
396
  endoreg_db/models/media/video/video_file_frames.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -558,12 +558,12 @@ endoreg_db/serializers/meta/sensitive_meta_detail.py,sha256=1i-9Osl9vBH7_KObdm8B
558
558
  endoreg_db/serializers/meta/sensitive_meta_update.py,sha256=qy7cM2MhQUJST9YcEXuyYmL8oX4kkKCIcyiz2nXHo-g,5591
559
559
  endoreg_db/serializers/meta/sensitive_meta_verification.py,sha256=gXH2RfJtVPSgnA3Z58FU6kxTZs6vBI14EEZT7lx2NFE,2289
560
560
  endoreg_db/serializers/meta/video_meta.py,sha256=g96J4va5_oIg7rbbVqcyBsy8imgmbiHjysuEEtas0cA,1284
561
- endoreg_db/serializers/misc/__init__.py,sha256=iO8DlpYe5GUIcd4rpHUUzfMt604V8BcoKc4d3YX_WvQ,483
561
+ endoreg_db/serializers/misc/__init__.py,sha256=MfG55Bb9sNBajmt-QkTOg1qFNSOEFQ6RWHIA_DVtneE,489
562
562
  endoreg_db/serializers/misc/file_overview.py,sha256=DsKFBCgGUIrDo5b4879pGBnw1GL8bilr3Pe7xh2lH9I,7210
563
+ endoreg_db/serializers/misc/sensitive_patient_data.py,sha256=cewApBYKsk0s9T7CGY_FJmuXAYs3hJV3Ra7oYazKndk,5831
563
564
  endoreg_db/serializers/misc/stats.py,sha256=iL8iZseOLeLaoaCDF3MtTQBH3b0yX5ZFkrZbq5MiMGM,1255
564
565
  endoreg_db/serializers/misc/translatable_field_mix_in.py,sha256=ZH8ZUE1-No0DLCcIGk445c00jQcX7M6Yldxik-FaGfg,1724
565
566
  endoreg_db/serializers/misc/upload_job.py,sha256=e8rXbgs7lkh-NAswLBV2pkEngWdfqHmJcIqS1fM0bJY,2306
566
- endoreg_db/serializers/misc/vop_patient_data.py,sha256=DHsp8Uc4ZqvxQMlWG3gVtLjxoA-U8eLu51g-yQLA5AY,5823
567
567
  endoreg_db/serializers/patient/__init__.py,sha256=ogQGq3jGnFP3L7gK9FbcJodhrzdR6_6xAM89sO9dZjM,185
568
568
  endoreg_db/serializers/patient/patient.py,sha256=8GlQw9a6zxhrieuzw0qf2Xryiuj64-Pe-jgYFdGlRdk,3072
569
569
  endoreg_db/serializers/patient/patient_dropdown.py,sha256=0hijgjMbgrUo78Em6hNqRMv5XdQJ42pTXmOZClSDtuQ,964
@@ -598,7 +598,7 @@ endoreg_db/services/examination_evaluation.py,sha256=jx9IL2PIoBzjiITzs00c1XucE7A
598
598
  endoreg_db/services/finding_description_service.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
599
599
  endoreg_db/services/lookup_service.py,sha256=A2t07-qlQhFEeNvOhez0GU0sxi7mnN0MIlhYzxj4W1U,10581
600
600
  endoreg_db/services/lookup_store.py,sha256=8sB2HmJQrnzq5Vfqt-UdaJLHYMRZCxnui9BCCXscnJE,4856
601
- endoreg_db/services/pdf_import.py,sha256=iipdALOF2bxtM_IOQXzPOu75nRvYVzplarzkajLoS8E,54274
601
+ endoreg_db/services/pdf_import.py,sha256=a-JwePNsXGZEYyVKHSm77K_Q9xoz5gThAbk4fVfotHI,54693
602
602
  endoreg_db/services/polling_coordinator.py,sha256=alnPB-kdMyxbYaxQN9fki9dKrwmAsY3s68bUHWDSNeI,10662
603
603
  endoreg_db/services/pseudonym_service.py,sha256=CJhbtRa6K6SPbphgCZgEMi8AFQtB18CUoBDttFnxEoM,3126
604
604
  endoreg_db/services/requirements_object.py,sha256=290zf8AEbVtCoHhW4Jr7_ud-RvrqYmb1Nz9UBHtTnc0,6164
@@ -789,7 +789,7 @@ endoreg_db/views/video/video_meta.py,sha256=C1wBMTtQb_yzEUrhFGAy2UHEWMk_CbU75WXX
789
789
  endoreg_db/views/video/video_processing_history.py,sha256=mhFuS8RG5GV8E-lTtuD0qrq-bIpnUFp8vy9aERfC-J8,770
790
790
  endoreg_db/views/video/video_remove_frames.py,sha256=2FmvNrSPM0fUXiBxINN6vBUUDCqDlBkNcGR3WsLDgKo,1696
791
791
  endoreg_db/views/video/video_stream.py,sha256=kLyuf0ORTmsLeYUQkTQ6iRYqlIQozWhMMR3Lhfe_trk,12148
792
- endoreg_db-0.8.5.6.dist-info/METADATA,sha256=VAc2EkiO9Qd6M1YOZTSu8piH-Ik7zlGHXdgbYmHzqtE,14719
793
- endoreg_db-0.8.5.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
794
- endoreg_db-0.8.5.6.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
795
- endoreg_db-0.8.5.6.dist-info/RECORD,,
792
+ endoreg_db-0.8.5.8.dist-info/METADATA,sha256=PcYH64y5cHa72YU3O__lcVC8iLQxfm1TdDV19Tpa9cc,14719
793
+ endoreg_db-0.8.5.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
794
+ endoreg_db-0.8.5.8.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
795
+ endoreg_db-0.8.5.8.dist-info/RECORD,,