|
- import hashlib
-
- from accounts.models import UserProfile
- from annoying.decorators import ajax_request, render_to
- from blogs.views import blog_list
- from django.contrib.auth.models import User
- from django.db.models import Count
- from django.http import HttpResponseRedirect, HttpResponseBadRequest
- from snipts.models import Snipt
- from snipts.utils import get_lexers_list
- from taggit.models import Tag
-
-
- @render_to('homepage.html')
- def homepage(request):
-
- if request.blog_user:
- return blog_list(request)
-
- return {
- 'snipts_count': Snipt.objects.all().count(),
- }
-
-
- @ajax_request
- def lexers(request):
- lexers = get_lexers_list()
- objects = []
-
- for l in lexers:
-
- try:
- filters = l[2]
- except IndexError:
- filters = []
-
- try:
- mimetypes = l[3]
- except IndexError:
- mimetypes = []
-
- objects.append(
- {"name": l[0], "lexers": l[1], "filters": filters, "mimetypes": mimetypes}
- )
-
- return {"objects": objects}
-
-
- def login_redirect(request):
- if request.user.is_authenticated():
- return HttpResponseRedirect("/" + request.user.username + "/")
- else:
- return HttpResponseRedirect("/")
-
-
- @render_to("tags.html")
- def tags(request):
-
- all_tags = Tag.objects.filter(snipt__public=True).order_by("name")
- all_tags = all_tags.annotate(count=Count("taggit_taggeditem_items__id"))
-
- popular_tags = Tag.objects.filter(snipt__public=True)
- popular_tags = popular_tags.annotate(count=Count("taggit_taggeditem_items__id"))
- popular_tags = popular_tags.order_by("-count")[:20]
- popular_tags = sorted(popular_tags, key=lambda tag: tag.name)
-
- return {"all_tags": all_tags, "tags": popular_tags}
-
-
- @ajax_request
- def user_api_key(request):
-
- if not request.user.is_authenticated():
- return HttpResponseBadRequest()
-
- return {"api_key": request.user.api_key.key}
|