from django.conf import settings
from blog.models import BlogEntry, BlogSection
import re

def blog_feed(request):
    return {
        'BLOG_FEED_ROOT': settings.BLOG_FEED_ROOT,
    } 

def content_breadcrumb(request):
    path = request.path
    if path[0:len(settings.BLOG_ROOT)] == settings.BLOG_ROOT:
        breadcrumb = [{'url': u'/', 'title': u'Home'}, {'url': settings.BLOG_ROOT, 'title': u'Blog'},]

        path = path[len(settings.BLOG_ROOT):]

        parts = path.split('/')

        if parts[0] == "section":
            # Just need to add the section title to the breadcrumb *if* we
            # actually have a section
            if len(parts) > 1:
                try:
                    section = BlogSection.objects.get(slug__exact=parts[1])
                    breadcrumb.append({'url': section.get_absolute_url(), 'title': section.title})
                except:
                    pass

        if len(parts) == 5 and  \
            parts[0].isdigit() and \
            parts[1].isdigit() and \
            parts[2].isdigit():
                # try getting the blog entry
                try:
                    entry = BlogEntry.objects.get(publish_date__year=int(parts[0]), publish_date__month=int(parts[1]), publish_date__day=int(parts[2]), slug__exact=parts[3])
                    breadcrumb.append({'url': entry.get_absolute_url(), 'title': entry.title})
                except:
                    breadcrumb.append({'url': 'nowhere', 'title': 'screwed'})
                    pass

        return {
            'content_breadcrumb': breadcrumb,
        }
    else:
        return {}
