2015-07-24 18:39:25 -07:00
|
|
|
import datetime
|
|
|
|
|
2012-06-05 17:14:30 -07:00
|
|
|
from annoying.functions import get_object_or_None
|
2015-07-24 18:39:25 -07:00
|
|
|
from django.shortcuts import get_object_or_404, render_to_response
|
2012-08-05 21:11:12 -07:00
|
|
|
from django.template import RequestContext
|
2012-05-31 19:32:32 -07:00
|
|
|
from snipts.models import Snipt
|
|
|
|
|
2013-01-15 21:09:54 -08:00
|
|
|
THEME_CHOICES = {
|
|
|
|
'D': 'blogs/themes/default/',
|
|
|
|
'A': 'blogs/themes/pro-adams/',
|
|
|
|
}
|
2012-05-31 19:32:32 -07:00
|
|
|
|
2015-07-24 18:28:31 -07:00
|
|
|
|
2012-06-01 18:05:25 -07:00
|
|
|
def blog_list(request, username_or_custom_slug=None):
|
|
|
|
|
2012-06-04 17:57:20 -07:00
|
|
|
if username_or_custom_slug:
|
2012-06-01 18:05:25 -07:00
|
|
|
return blog_post(request, username_or_custom_slug)
|
2012-05-31 19:32:32 -07:00
|
|
|
|
2012-08-15 08:04:15 -07:00
|
|
|
snipts = Snipt.objects.filter(user=request.blog_user,
|
|
|
|
blog_post=True,
|
|
|
|
public=True,
|
2015-07-24 18:28:31 -07:00
|
|
|
publish_date__lte=datetime.datetime.now()) \
|
|
|
|
.order_by('-publish_date') \
|
|
|
|
.exclude(title__iexact='Homepage') \
|
|
|
|
.exclude(title__iexact='Work')
|
|
|
|
|
|
|
|
normal_snipts = Snipt.objects.filter(blog_post=False,
|
|
|
|
user=request.blog_user,
|
|
|
|
public=True) \
|
|
|
|
.order_by('-created')
|
2012-08-22 09:40:16 -07:00
|
|
|
normal_snipts = normal_snipts.exclude(title__in=[''])
|
|
|
|
normal_snipts = normal_snipts.exclude(tags__name__in=['tmp'])
|
|
|
|
normal_snipts = normal_snipts[:3]
|
|
|
|
|
2015-07-24 18:28:31 -07:00
|
|
|
sidebar = get_object_or_None(Snipt, user=request.blog_user,
|
|
|
|
title='Sidebar', blog_post=True)
|
|
|
|
header = get_object_or_None(Snipt, user=request.blog_user, title='Header',
|
|
|
|
blog_post=True)
|
|
|
|
custom_css = get_object_or_None(Snipt, user=request.blog_user, title='CSS',
|
|
|
|
lexer='css', blog_post=True)
|
2012-06-05 17:14:30 -07:00
|
|
|
|
2012-05-31 19:32:32 -07:00
|
|
|
context = {
|
2012-06-01 08:38:55 -07:00
|
|
|
'blog_user': request.blog_user,
|
2013-01-19 21:08:45 -08:00
|
|
|
'custom_css': custom_css,
|
2012-06-01 18:10:49 -07:00
|
|
|
'has_snipts': True,
|
2013-01-15 22:17:21 -08:00
|
|
|
'header': header,
|
2012-08-22 09:40:16 -07:00
|
|
|
'normal_snipts': normal_snipts,
|
2012-06-01 18:13:17 -07:00
|
|
|
'public': True,
|
2012-06-05 17:14:30 -07:00
|
|
|
'sidebar': sidebar,
|
2012-06-01 18:05:25 -07:00
|
|
|
'snipts': snipts,
|
2012-05-31 19:32:32 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
if 'rss' in request.GET:
|
|
|
|
context['snipts'] = context['snipts'][:20]
|
|
|
|
return rss(request, context)
|
|
|
|
|
2013-08-13 11:20:46 -07:00
|
|
|
template = THEME_CHOICES[request.blog_user.profile.blog_theme]
|
2013-01-15 21:09:54 -08:00
|
|
|
|
|
|
|
template = '{}/list.html'.format(template)
|
2012-07-24 20:31:32 -07:00
|
|
|
|
|
|
|
return render_to_response(
|
2013-08-13 11:20:46 -07:00
|
|
|
template,
|
|
|
|
context,
|
|
|
|
context_instance=RequestContext(request))
|
2012-05-31 19:32:32 -07:00
|
|
|
|
2015-07-24 18:28:31 -07:00
|
|
|
|
2012-06-01 18:05:25 -07:00
|
|
|
def blog_post(request, username_or_custom_slug):
|
|
|
|
|
2012-06-04 19:59:49 -07:00
|
|
|
snipt = get_object_or_404(Snipt, user=request.blog_user,
|
2015-07-24 18:28:31 -07:00
|
|
|
blog_post=True,
|
|
|
|
public=True,
|
|
|
|
publish_date__lte=datetime.datetime.now(),
|
|
|
|
slug=username_or_custom_slug)
|
2012-06-01 18:05:25 -07:00
|
|
|
|
2013-03-04 15:35:10 -08:00
|
|
|
snipts = Snipt.objects.filter(user=request.blog_user,
|
|
|
|
blog_post=True,
|
|
|
|
public=True,
|
2015-07-24 18:28:31 -07:00
|
|
|
publish_date__lte=datetime.datetime.now()) \
|
|
|
|
.order_by('-publish_date') \
|
|
|
|
.exclude(title__iexact='Homepage') \
|
|
|
|
.exclude(title__iexact='Work')
|
|
|
|
|
|
|
|
sidebar = get_object_or_None(Snipt, user=request.blog_user,
|
|
|
|
title='Sidebar', blog_post=True)
|
|
|
|
header = get_object_or_None(Snipt, user=request.blog_user, title='Header',
|
|
|
|
blog_post=True)
|
|
|
|
custom_css = get_object_or_None(Snipt, user=request.blog_user, title='CSS',
|
|
|
|
lexer='css', blog_post=True)
|
|
|
|
|
|
|
|
normal_snipts = Snipt.objects.filter(blog_post=False,
|
|
|
|
user=request.blog_user,
|
|
|
|
public=True).order_by('-created')
|
2012-09-02 16:47:02 -07:00
|
|
|
normal_snipts = normal_snipts.exclude(title__in=[''])
|
|
|
|
normal_snipts = normal_snipts.exclude(tags__name__in=['tmp'])
|
|
|
|
normal_snipts = normal_snipts[:3]
|
|
|
|
|
2012-09-17 12:53:07 -07:00
|
|
|
if snipt.user != request.user:
|
|
|
|
snipt.views = snipt.views + 1
|
|
|
|
snipt.save()
|
|
|
|
|
2012-06-01 18:05:25 -07:00
|
|
|
context = {
|
|
|
|
'blog_user': request.blog_user,
|
2013-01-19 21:08:45 -08:00
|
|
|
'custom_css': custom_css,
|
2012-06-01 18:10:49 -07:00
|
|
|
'detail': True,
|
2012-06-01 18:13:17 -07:00
|
|
|
'has_snipts': True,
|
2013-01-15 22:17:21 -08:00
|
|
|
'header': header,
|
2012-09-02 16:47:02 -07:00
|
|
|
'normal_snipts': normal_snipts,
|
2012-06-01 18:13:17 -07:00
|
|
|
'public': True,
|
2012-06-05 21:53:02 -07:00
|
|
|
'sidebar': sidebar,
|
2012-06-04 17:57:20 -07:00
|
|
|
'snipt': snipt,
|
2013-03-04 15:35:10 -08:00
|
|
|
'snipts': snipts,
|
2012-06-01 18:05:25 -07:00
|
|
|
}
|
|
|
|
|
2013-08-13 11:20:46 -07:00
|
|
|
template = THEME_CHOICES[request.blog_user.profile.blog_theme]
|
2013-01-15 21:09:54 -08:00
|
|
|
|
|
|
|
template = '{}/post.html'.format(template)
|
2012-07-24 20:31:32 -07:00
|
|
|
|
2015-07-24 18:28:31 -07:00
|
|
|
return render_to_response(template,
|
|
|
|
context,
|
|
|
|
context_instance=RequestContext(request))
|
|
|
|
|
2012-06-01 18:05:25 -07:00
|
|
|
|
2012-05-31 19:32:32 -07:00
|
|
|
def rss(request, context):
|
2015-07-24 18:28:31 -07:00
|
|
|
return render_to_response('blogs/themes/default/rss.xml',
|
|
|
|
context,
|
|
|
|
context_instance=RequestContext(request),
|
|
|
|
content_type="application/rss+xml")
|