示例#1
0
文件: home.py 项目: qsnipp/codehunkit
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'))
示例#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'))
示例#3
0
文件: home.py 项目: qsnipp/codehunkit
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())    
示例#4
0
文件: home.py 项目: qsnipp/codehunkit
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())
示例#5
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())
示例#6
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())
示例#7
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())
示例#8
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())
示例#9
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())
示例#10
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())