from django.db import models
from django.conf import settings
from django.contrib import admin

FORMAT_CHOICES = (
    ('rst', 'reStructuredText'),
    ('html', 'HTML'),
)

class BlogEntry(models.Model):
    title = models.CharField(max_length=150)
    islive = models.BooleanField(default=False)
    sections = models.ManyToManyField('BlogSection')
    format = models.CharField(max_length=10, choices=FORMAT_CHOICES)
    slug = models.SlugField()
    publish_date = models.DateTimeField()
    content = models.TextField()

    def __str__(self):
        return self.__unicode__()

    def __unicode__(self):
        return u'%s - %s' %(self.publish_date.strftime('%Y-%m-%d %H:%M'), self.title)

    def get_absolute_url(self):
        return u'%s%04d/%02d/%02d/%s/' %(settings.BLOG_ROOT, self.publish_date.year, self.publish_date.month, self.publish_date.day, self.slug)

    class Meta:
        ordering = ['-publish_date']

class BlogSection(models.Model):
    title = models.CharField(max_length=150)
    slug = models.SlugField()

    def __str__(self):
        return self.__unicode__()

    def __unicode__(self):
        return u'%s' %(self.title,)

    def get_absolute_url(self):
        return u'%ssection/%s/' %(settings.BLOG_ROOT, self.slug)
