SoundAdmin.add_view fix

This commit is contained in:
bkfox
2023-01-25 16:21:19 +01:00
parent 4c3878a300
commit c2cd3b0301
6 changed files with 40 additions and 23 deletions

View File

@ -61,12 +61,13 @@ class SoundFile:
def episode(self):
return self.sound and self.sound.episode
def sync(self, sound=None, program=None, deleted=False, **kwargs):
def sync(self, sound=None, program=None, deleted=False, keep_deleted=False,
**kwargs):
"""
Update related sound model and save it.
"""
if deleted:
return self._on_delete(self.path)
return self._on_delete(self.path, keep_deleted)
# FIXME: sound.program as not null
if not program:
@ -99,14 +100,18 @@ class SoundFile:
self.find_playlist(sound)
return sound
def _on_delete(self, path):
def _on_delete(self, path, keep_deleted):
# TODO: remove from db on delete
sound = Sound.objects.path(self.path).first()
if sound:
sound.type = sound.TYPE_REMOVED
sound.check_on_file()
sound.save()
return sound
if keep_deleted:
sound = Sound.objects.path(self.path).first()
if sound:
if keep_deleted:
sound.type = sound.TYPE_REMOVED
sound.check_on_file()
sound.save()
return sound
else:
Sound.objects.path(self.path).delete()
def read_path(self, path):
"""