+import datetime
import os
import mutagen
Jingle.objects.all().update(**{attr: False})
return super(Jingle, self).save(**kwargs)
+ @property
+ def title(self):
+ return self.label
+
class Stream(models.Model):
class Meta:
creation_timestamp = models.DateTimeField(auto_now_add=True, null=True)
added_to_nonstop_timestamp = models.DateTimeField(null=True)
+ def __str__(self):
+ return 'Diffusion of %s' % self.diffusion
+
@property
def datetime(self):
return self.diffusion.datetime
@property
def end_datetime(self):
- return self.diffusion.end_datetime
+ if self.is_stream():
+ return self.diffusion.end_datetime
+ dt = self.diffusion.datetime
+ if self.jingle:
+ dt += self.jingle.duration
+ dt += datetime.timedelta(seconds=self.soundfile.duration)
+ return dt
+
+ @property
+ def soundfile(self):
+ return self.diffusion.episode.soundfile_set.filter(fragment=False).first()
+
+ @property
+ def duration(self):
+ return (self.end_datetime - self.datetime).seconds
@property
def episode(self):