Skip to content

Commit 25508a1

Browse files
fix: Applied fix for #1453; #1492
1 parent 911bfbf commit 25508a1

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

signbank/video/models.py

+11-17
Original file line numberDiff line numberDiff line change
@@ -1046,17 +1046,17 @@ def reversion(self, revert=False):
10461046
self.delete()
10471047

10481048

1049-
def move_videos_for_dataset(dataset: Dataset, move_files_on_disk: bool=False) -> None:
1049+
def move_videos_for_filter(filter, move_files_on_disk: bool=False) -> None:
10501050
"""
1051-
Changes GlossVideo.videofile values for a Dataset
1052-
and moves files on disk if move_file_on_disk is True (default is False)
1051+
Changes GlossVideo.videofile values for a filter dict
1052+
and moves files on disk if move_file_on_disk is True (default is False).
1053+
A filter dict is used in the QuerySet.filter method as **filter
10531054
"""
1054-
for glossvideo in GlossVideo.objects.filter(gloss__lemma__dataset=dataset, glossvideonme=None,
1055-
glossvideoperspective=None):
1055+
for glossvideo in GlossVideo.objects.filter(**filter, glossvideonme=None, glossvideoperspective=None):
10561056
glossvideo.move_video(move_files_on_disk=move_files_on_disk)
1057-
for glossvideo_nme in GlossVideoNME.objects.filter(gloss__lemma__dataset=dataset):
1057+
for glossvideo_nme in GlossVideoNME.objects.filter(**filter):
10581058
glossvideo_nme.move_video(move_files_on_disk=move_files_on_disk)
1059-
for glossvideos_perspective in GlossVideoPerspective.objects.filter(gloss__lemma__dataset=dataset):
1059+
for glossvideos_perspective in GlossVideoPerspective.objects.filter(**filter):
10601060
glossvideos_perspective.move_video(move_files_on_disk=move_files_on_disk)
10611061

10621062

@@ -1073,7 +1073,7 @@ def process_dataset_changes(sender, instance, **kwargs):
10731073
# and rename directories.
10741074
dataset = instance
10751075
if dataset._initial['acronym'] and dataset.acronym != dataset._initial['acronym']:
1076-
move_videos_for_dataset(dataset, move_files_on_disk=False)
1076+
move_videos_for_filter({'gloss__lemma_dataset': dataset}, move_files_on_disk=False)
10771077

10781078
# Rename dirs
10791079
glossvideo_path_original = os.path.join(WRITABLE_FOLDER, GLOSS_VIDEO_DIRECTORY, dataset._initial['acronym'])
@@ -1092,7 +1092,7 @@ def process_dataset_changes(sender, instance, **kwargs):
10921092
# If the default language has been changed, change all GlossVideos
10931093
# and move all video/poster files accordingly.
10941094
if dataset._initial['default_language'] and dataset.default_language_id != dataset._initial['default_language']:
1095-
move_videos_for_dataset(dataset, move_files_on_disk=True)
1095+
move_videos_for_filter({'gloss__lemma_dataset': dataset}, move_files_on_disk=True)
10961096

10971097
# Make sure that _initial reflect the database for the dataset object
10981098
dataset._initial['default_language'] = dataset.default_language_id
@@ -1107,10 +1107,7 @@ def process_lemmaidglosstranslation_changes(sender, instance, **kwargs):
11071107
:param kwargs:
11081108
:return:
11091109
"""
1110-
lemmaidglosstranslation = instance
1111-
glossvideos = GlossVideo.objects.filter(gloss__lemma__lemmaidglosstranslation=lemmaidglosstranslation)
1112-
for glossvideo in glossvideos:
1113-
glossvideo.move_video(move_files_on_disk=True)
1110+
move_videos_for_filter({'gloss__lemma__lemmaidglosstranslation': instance}, move_files_on_disk=True)
11141111

11151112

11161113
@receiver(models.signals.post_save, sender=LemmaIdgloss)
@@ -1122,10 +1119,7 @@ def process_lemmaidgloss_changes(sender, instance, **kwargs):
11221119
:param kwargs:
11231120
:return:
11241121
"""
1125-
lemmaidgloss = instance
1126-
glossvideos = GlossVideo.objects.filter(gloss__lemma=lemmaidgloss)
1127-
for glossvideo in glossvideos:
1128-
glossvideo.move_video(move_files_on_disk=True)
1122+
move_videos_for_filter({'gloss__lemma': instance}, move_files_on_disk=True)
11291123

11301124

11311125
@receiver(models.signals.post_save, sender=Gloss)

0 commit comments

Comments
 (0)