Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/gallery/models.py b/gallery/models.py
- index 0a8c199..eeb7a7b 100644
- --- a/gallery/models.py
- +++ b/gallery/models.py
- @@ -76,7 +76,7 @@ class GalleryItem(models.Model):
- is_modified_by_meural = models.BooleanField(default=False)
- - tags = TaggableManager()
- + tags = TaggableManager(blank=True)
- class Meta:
- db_table = 'items'
- @@ -210,7 +210,7 @@ class Gallery(models.Model):
- gallery_type = models.CharField(choices=TYPES, default=TYPE_IMAGES, max_length=16)
- gallery_timeout = '0'
- - tags = TaggableManager()
- + tags = TaggableManager(blank=True)
- class Meta:
- db_table = 'galleries'
- @@ -301,16 +301,29 @@ class Gallery(models.Model):
- return hero_url
- +class GalleryProgram(models.Model):
- + name = models.CharField(max_length=255, unique=True)
- + start_time = models.DateTimeField()
- + description = models.TextField(null=True, blank=True, default='', max_length=1024)
- + gallery = models.ForeignKey(Gallery, limit_choices_to={'gallery_type': Gallery.TYPE_RADIO}, related_name='playlist', default=None)
- +
- + class Meta:
- + ordering = ['start_time']
- +
- + def __unicode__(self):
- + return u'%s' % (self.name)
- +
- +
- class GalleryPlaylist(models.Model):
- - gallery = models.ForeignKey(Gallery, limit_choices_to={'gallery_type': Gallery.TYPE_RADIO}, related_name='playlist')
- + program = models.ForeignKey(GalleryProgram, related_name="program", default=None, null=True, blank=True)
- item = models.ForeignKey(GalleryItem)
- start_time = models.TimeField()
- class Meta:
- - ordering = ['gallery', 'start_time']
- + ordering = ['start_time']
- def __unicode__(self):
- - return u'%s %s %s' % (self.gallery, self.start_time, self.item)
- + return u'%s %s %s' % (self.program, self.start_time, self.item)
- class GalleryRadioManager(models.Manager):
- @@ -348,6 +361,17 @@ class GalleryRadio(Gallery):
- return prev
- + def get_previous_items(self):
- + cur_item = self.get_current_item()
- + try:
- + prev_items = self.playlist.filter(start_time__lt=cur_item.start_time)
- + print prev_items
- + except GalleryPlaylist.DoesNotExist:
- + # if there is no item before item start_time, return last from the playlist
- + prev_items = self.playlist.last()
- +
- + return prev_items
- +
- def get_current_duration(self):
- """
- get time duration until next item
- @@ -359,7 +383,10 @@ class GalleryRadio(Gallery):
- return (nextd - nowtd).seconds
- def to_user(self):
- - return self
- + return {
- + 'current_item': self.get_current_item().item.to_user(),
- + 'recently_played': [i.item.to_user() for i in self.get_previous_items()]
- + }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement