# Path: narwhal/plugins/video/models.py
# class Video(Torrent):
#     """ ``Video`` Provides a base class for all video plugins to subclass. """
#     
#     def formats(self):
#         return (name.rsplit(".") for name in self.files())
#     formats.verbose_name = _('Formats')
#     
#     def validate(self):
#         super(Video, self).validate() #call default Torrent validator
#         #add validators here
#     
#     class Meta:
#         abstract = True #we add no fields here
# 
# Path: narwhal/plugins/user/stack/models.py
# class Stack(Model):
#     class Meta:
#         ordering = ('title',)
#         app_label = 'stack'
#         verbose_name = _('Stack')
#         verbose_name_plural = _('Stacks')
#     
#     torrents = ManyToManyField(Torrent, verbose_name=_('Torrents'), related_name='stacks')
#     
#     owner       = ForeignKey(User, verbose_name=_('Owner'), related_name='stacks')
#     public_view = BooleanField(_('Public View'), help_text=_('Other users can view this stack.'))
#     public_add  = BooleanField(_('Public Add'), help_text=_('Other users can add to this stack.'))
#     
#     title       = CharField(_('Title'), max_length=255)
#     subtitle    = CharField(_('Subtile'), max_length=255)
#     slug        = SlugField(_('Slug'), unique=True, max_length=100)
#     
#     description = TextField(_('Description'))
#     
#     tags = TaggableManager()
#     
#     def public_editable(self):
#         return self.public_view and self.public_add
#     public_editable.boolean=True
#     
#     def __unicode__(self):
#         return u'%s (%s)' % (self.title, self.subtitle)


from django.db.models import *
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.models import User
from narwhal.plugins.video.models import Video
from narwhal.plugins.user.stack.models import Stack


class Watched(Video):
    class Meta:
        app_label = 'stack' # put this in the stack app in admin interface
        verbose_name = _('Watched')
        verbose_name_plural = _('Watched Videos')
    

# Path: narwhal/plugins/video/models.py
# class Video(Torrent):
#     """ ``Video`` Provides a base class for all video plugins to subclass. """
#     
#     def formats(self):
#         return (name.rsplit(".") for name in self.files())
#     formats.verbose_name = _('Formats')
#     
#     def validate(self):
#         super(Video, self).validate() #call default Torrent validator
#         #add validators here
#     
#     class Meta:
#         abstract = True #we add no fields here
# 
# Path: narwhal/plugins/user/stack/models.py
# class Stack(Model):
#     class Meta:
#         ordering = ('title',)
#         app_label = 'stack'
#         verbose_name = _('Stack')
#         verbose_name_plural = _('Stacks')
#     
#     torrents = ManyToManyField(Torrent, verbose_name=_('Torrents'), related_name='stacks')
#     
#     owner       = ForeignKey(User, verbose_name=_('Owner'), related_name='stacks')
#     public_view = BooleanField(_('Public View'), help_text=_('Other users can view this stack.'))
#     public_add  = BooleanField(_('Public Add'), help_text=_('Other users can add to this stack.'))
#     
#     title       = CharField(_('Title'), max_length=255)
#     subtitle    = CharField(_('Subtile'), max_length=255)
#     slug        = SlugField(_('Slug'), unique=True, max_length=100)
#     
#     description = TextField(_('Description'))
#     
#     tags = TaggableManager()
#     
#     def public_editable(self):
#         return self.public_view and self.public_add
#     public_editable.boolean=True
#     
#     def __unicode__(self):
#         return u'%s (%s)' % (self.title, self.subtitle)


# Path: narwhal/plugins/user/watched/models.py
from django.db.models import *
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.models import User
from narwhal.plugins.video.models import Video
from narwhal.plugins.user.stack.models import Stack



class Watched(Video):
    class Meta:
        app_label = 'stack' # put this in the stack app in admin interface
        verbose_name = _('Watched')
        verbose_name_plural = _('Watched Videos')
    

    WATCHED = 1 ; WATCHING = 2; ON_HOLD = 3; DROPPED = 4