annotate bns_website/videos/models.py @ 79:548b9e61bd64

Updated bands.json to include "asset_prefix" tags for all the bands. Incorporated all the small images from Ferenc into the bands slideshow. Went through and crushed all the large images to fit within 800x600. Make sure to "manage.py loaddata bands.json" after picking this up.
author Chris Ridgway <ckridgway@gmail.com>
date Fri, 25 Nov 2011 16:54:59 -0600
parents a0d3bc630ebd
children
rev   line source
bgneal@60 1 """
bgneal@60 2 Models for the videos app.
bgneal@60 3
bgneal@60 4 """
bgneal@60 5 from django.db import models
bgneal@60 6
bgneal@60 7
bgneal@60 8 # The whole purpose of this application is to shuffle the videos in
bgneal@60 9 # a YouTube playlist.
bgneal@60 10 #
bgneal@60 11 # We'd like to embed a video player to show videos from all the bands that
bgneal@60 12 # participated in the compilation. So we create a YouTube playlist with a long
bgneal@60 13 # list of videos. YouTube no longer offers a way to shuffle the playlist via
bgneal@60 14 # the embed code. Instead we will use the YouTube Javascript API to accomplish
bgneal@60 15 # this. However, the Javascript API works off of video IDs. So we now need
bgneal@60 16 # a way to obtain all the video IDs from a YouTube playlist. This model
bgneal@60 17 # stores the playlist URL and an admin function can be run to retrieve the
bgneal@60 18 # video ID list via the Python GData YouTube API. The video list is also
bgneal@60 19 # stored in this model. The view function can then read the video ID list,
bgneal@60 20 # randomize it, and give it to the template to build the appropriate
bgneal@60 21 # Javascript.
bgneal@60 22
bgneal@60 23 class Playlist(models.Model):
bgneal@60 24 """
bgneal@60 25 This model stores a YouTube playlist URL and a list of video IDs that
bgneal@60 26 make up the playlist.
bgneal@60 27
bgneal@60 28 """
bgneal@60 29 playlist_title = models.CharField(max_length=128, blank=True)
bgneal@60 30 playlist_url = models.URLField()
bgneal@60 31 video_list = models.TextField(blank=True)
bgneal@60 32 sync_date = models.DateTimeField(null=True, blank=True)
bgneal@60 33
bgneal@60 34 def __unicode__(self):
bgneal@60 35 if self.playlist_title:
bgneal@60 36 return self.playlist_title
bgneal@60 37
bgneal@60 38 return u"(Please sync with YouTube to retrieve the videos)"