bgneal@60: """ bgneal@60: Models for the videos app. bgneal@60: bgneal@60: """ bgneal@60: from django.db import models bgneal@60: bgneal@60: bgneal@60: # The whole purpose of this application is to shuffle the videos in bgneal@60: # a YouTube playlist. bgneal@60: # bgneal@60: # We'd like to embed a video player to show videos from all the bands that bgneal@60: # participated in the compilation. So we create a YouTube playlist with a long bgneal@60: # list of videos. YouTube no longer offers a way to shuffle the playlist via bgneal@60: # the embed code. Instead we will use the YouTube Javascript API to accomplish bgneal@60: # this. However, the Javascript API works off of video IDs. So we now need bgneal@60: # a way to obtain all the video IDs from a YouTube playlist. This model bgneal@60: # stores the playlist URL and an admin function can be run to retrieve the bgneal@60: # video ID list via the Python GData YouTube API. The video list is also bgneal@60: # stored in this model. The view function can then read the video ID list, bgneal@60: # randomize it, and give it to the template to build the appropriate bgneal@60: # Javascript. bgneal@60: bgneal@60: class Playlist(models.Model): bgneal@60: """ bgneal@60: This model stores a YouTube playlist URL and a list of video IDs that bgneal@60: make up the playlist. bgneal@60: bgneal@60: """ bgneal@60: playlist_title = models.CharField(max_length=128, blank=True) bgneal@60: playlist_url = models.URLField() bgneal@60: video_list = models.TextField(blank=True) bgneal@60: sync_date = models.DateTimeField(null=True, blank=True) bgneal@60: bgneal@60: def __unicode__(self): bgneal@60: if self.playlist_title: bgneal@60: return self.playlist_title bgneal@60: bgneal@60: return u"(Please sync with YouTube to retrieve the videos)"