Esempio n. 1
0
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'))
Esempio n. 2
0
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'))
Esempio n. 3
0
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())
Esempio n. 4
0
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())
Esempio n. 5
0
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')
Esempio n. 6
0
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())    
Esempio n. 7
0
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')
Esempio n. 8
0
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())
Esempio n. 9
0
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())
Esempio n. 10
0
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())
Esempio n. 11
0
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())
Esempio n. 12
0
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())
Esempio n. 13
0
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())
Esempio n. 14
0
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())
Esempio n. 15
0
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())
Esempio n. 16
0
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())
Esempio n. 17
0
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())
Esempio n. 18
0
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())