def search(request, page_index=0, sort_by_new=False): """ Display snippets by user, language or search term """ q = request.REQUEST.get('q', '').strip() if q: users_q = User.objects.filter(username__iexact=q)[:1] if users_q: return HttpResponseRedirect(reverse('app_user', args=[users_q[0].username])) lang_q = Language.objects.filter(name__iexact=q)[:1] print lang_q if lang_q: print lang_q return HttpResponseRedirect(reverse('app_lang', args=[lang_q[0].slug])) page_index = int(page_index) params = { 'q': q.encode('utf-8')} query = '?' + urllib.urlencode(params) active = 'new' if sort_by_new else 'top' snippets = Snippet.search_snippets(q, request.user, page_index, settings.PAGE_SIZE, sort_by_new) prev_url, next_url = paginated_url(request.resolver_match.url_name, snippets, [page_index], params) no_snippets = 'There are no snippets found for this search query' return render_response(request, 'app/search_snippets.html', locals()) return HttpResponseRedirect(reverse('app_home'))
def search(request, page_index=0, sort_by_new=False): """ Display snippets by user, language or search term """ q = request.REQUEST.get('q', '').strip() if q: users_q = User.objects.filter(username__iexact=q)[:1] if users_q: return HttpResponseRedirect( reverse('app_user', args=[users_q[0].username])) lang_q = Language.objects.filter(name__iexact=q)[:1] print lang_q if lang_q: print lang_q return HttpResponseRedirect( reverse('app_lang', args=[lang_q[0].slug])) page_index = int(page_index) params = {'q': q.encode('utf-8')} query = '?' + urllib.urlencode(params) active = 'new' if sort_by_new else 'top' snippets = Snippet.search_snippets(q, request.user, page_index, settings.PAGE_SIZE, sort_by_new) prev_url, next_url = paginated_url(request.resolver_match.url_name, snippets, [page_index], params) no_snippets = 'There are no snippets found for this search query' return render_response(request, 'app/search_snippets.html', locals()) return HttpResponseRedirect(reverse('app_home'))
def comment_read(request, snippet_id, comment_id): """ Display Snippet with particular comment thread """ snippet_id = int(snippet_id) comment_id = int(comment_id) snippet = Snippet.read(snippet_id, request.user, comment_id) return render_response(request, 'app/snippet.html', locals())
def sitemap_xml(request): """ Display list of new snippets upto 1000 """ snippets = Snippet.get_snippets(request.user, 0, 1000, True) for snippet in snippets: snippet.priority = round(snippet.rating(), 1) return render_to_response('app/sitemap.xml', locals(), mimetype='application/xml')
def tag_snippets(request, tag_name, page_index=0, sort_by_new=False): """ Display list of snippets by tag """ page_index = int(page_index) active = 'new' if sort_by_new else 'top' snippets = Snippet.tag_snippets(tag_name, request.user, page_index, settings.PAGE_SIZE, sort_by_new) prev_url, next_url = paginated_url(request.resolver_match.url_name, snippets, [tag_name, page_index]) return render_response(request, 'app/tag_snippets.html', locals())
def snippet_read(request, snippet_id, slug=None): """ Display Snippet """ if slug is None: snippet = get_object_or_404(Snippet, id=snippet_id) return HttpResponsePermanentRedirect(snippet.get_absolute_url()) snippet_id = int(snippet_id) snippet = Snippet.read(snippet_id, request.user) return render_response(request, 'app/snippet.html', locals())
def index(request, page_index=0, sort_by_new=False): """ Display all snippets """ page_index = int(page_index) active = 'new' if sort_by_new else 'top' snippets = Snippet.get_snippets(request.user, page_index, settings.PAGE_SIZE, sort_by_new) prev_url, next_url = paginated_url(request.resolver_match.url_name, snippets, [page_index]) recent_sign_ups = User.get_recent_users() return render_response(request, 'app/home_snippets.html', locals())
def lang_snippets(request, slug, page_index=0, sort_by_new=False): """ Displays list of snippets of the particular language """ page_index = int(page_index) active = 'new' if sort_by_new else 'top' lang = get_object_or_404(Language, slug=slug) is_subscribed = request.user.is_authenticated() and Subscription.is_subscribed(lang, request.user) snippets = Snippet.lang_snippets(lang, request.user, page_index, settings.PAGE_SIZE, sort_by_new) prev_url, next_url = paginated_url(request.resolver_match.url_name, snippets, [slug, page_index]) return render_response(request, 'app/lang_snippets.html', locals())
def user_snippets(request, username, page_index=0, sort_by_new=False): """ Display snippets of particular user """ page_index = int(page_index) active = 'new' if sort_by_new else 'top' try: user = User.get_by_username(username) except User.DoesNotExist: raise Http404() is_follower = request.user.is_authenticated() and Follow.is_follower(user, request.user) snippets = Snippet.user_snippets(user, request.user, page_index, settings.PAGE_SIZE, sort_by_new) prev_url, next_url = paginated_url(request.resolver_match.url_name, snippets, [username, page_index]) return render_response(request, 'app/user_snippets.html', locals())
def lang_snippets(request, slug, page_index=0, sort_by_new=False): """ Displays list of snippets of the particular language """ page_index = int(page_index) active = 'new' if sort_by_new else 'top' lang = get_object_or_404(Language, slug=slug) is_subscribed = request.user.is_authenticated( ) and Subscription.is_subscribed(lang, request.user) snippets = Snippet.lang_snippets(lang, request.user, page_index, settings.PAGE_SIZE, sort_by_new) prev_url, next_url = paginated_url(request.resolver_match.url_name, snippets, [slug, page_index]) return render_response(request, 'app/lang_snippets.html', locals())
def user_snippets(request, username, page_index=0, sort_by_new=False): """ Display snippets of particular user """ page_index = int(page_index) active = 'new' if sort_by_new else 'top' try: user = User.get_by_username(username) except User.DoesNotExist: raise Http404() is_follower = request.user.is_authenticated() and Follow.is_follower( user, request.user) snippets = Snippet.user_snippets(user, request.user, page_index, settings.PAGE_SIZE, sort_by_new) prev_url, next_url = paginated_url(request.resolver_match.url_name, snippets, [username, page_index]) return render_response(request, 'app/user_snippets.html', locals())
def snippet_create(request): """ Creates a new code snippet """ tags = [tag.name for tag in Tag.get_tags()] if request.method == 'POST': form = SnippetForm(request.user.is_anonymous(), request.POST) if form.is_valid(): data = form.cleaned_data try: user = request.user if request.user.is_authenticated() else User.get_or_create(data['email']) snippet = Snippet.create(data['gist'], data['code'], data['language'], data['tags'], user) return HttpResponseRedirect(snippet.get_absolute_url()) except HunkitError as e: error = e.message else: form = SnippetForm(request.user.is_anonymous()) return render_response(request, 'app/create_snippet.html', locals())
def snippet_create(request): """ Creates a new code snippet """ tags = [tag.name for tag in Tag.get_tags()] if request.method == 'POST': form = SnippetForm(request.user.is_anonymous(), request.POST) if form.is_valid(): data = form.cleaned_data try: user = request.user if request.user.is_authenticated( ) else User.get_or_create(data['email']) snippet = Snippet.create(data['gist'], data['code'], data['language'], data['tags'], user) return HttpResponseRedirect(snippet.get_absolute_url()) except HunkitError as e: error = e.message else: form = SnippetForm(request.user.is_anonymous()) return render_response(request, 'app/create_snippet.html', locals())