update episode cover

This commit is contained in:
bkfox 2020-06-12 14:30:53 +02:00
parent a01513b944
commit fee668d130
2 changed files with 9 additions and 0 deletions

View File

@ -86,6 +86,7 @@ class Program(Page):
super().__init__(*kargs, **kwargs) super().__init__(*kargs, **kwargs)
if self.slug: if self.slug:
self.__initial_path = self.path self.__initial_path = self.path
self.__initial_cover = self.cover
@classmethod @classmethod
def get_from_path(cl, path): def get_from_path(cl, path):
@ -133,6 +134,7 @@ class Program(Page):
super().save(*kargs, **kwargs) super().save(*kargs, **kwargs)
# TODO: move in signals
path_ = getattr(self, '__initial_path', None) path_ = getattr(self, '__initial_path', None)
if path_ is not None and path_ != self.path and \ if path_ is not None and path_ != self.path and \
os.path.exists(path_) and not os.path.exists(self.path): os.path.exists(path_) and not os.path.exists(self.path):

View File

@ -56,6 +56,13 @@ def program_post_save(sender, instance, created, *args, **kwargs):
Episode.object.parent(instance).filter(diffusion__isnull=True) \ Episode.object.parent(instance).filter(diffusion__isnull=True) \
.delete() .delete()
cover_ = getattr(instance, '__initial_cover', None)
if cover_ is None and instance.cover is not None:
Episode.objects.parent(instance) \
.filter(cover__isnull=True) \
.update(cover=instance.cover)
@receiver(signals.pre_save, sender=Schedule) @receiver(signals.pre_save, sender=Schedule)
def schedule_pre_save(sender, instance, *args, **kwargs): def schedule_pre_save(sender, instance, *args, **kwargs):