Beispiel #1
0
    def test_linkify(self):
        tests = [
            ('foo http://www.example.com bar', 'foo <a href="http://www.example.com">http://www.example.com</a> bar'),
            ('foo www.example.com bar', 'foo <a href="www.example.com">www.example.com</a> bar'),
            ('foo example.ca bar', 'foo <a href="example.ca">example.ca</a> bar'),
            ('foo example.com bar google.com', 'foo <a href="example.com">example.com</a> bar <a href="google.com">google.com</a>'),
            ('foo example.com/cow.jpg bar', 'foo <img src="example.com/cow.jpg" alt="external image"/> bar'),
            ('foo example.com bar example.com/cow.jpg', 'foo <a href="example.com">example.com</a> bar <img src="example.com/cow.jpg" alt="external image"/>'),
        ]

        for input, expected in tests:
            self.assertEquals(expected, linkify(input))
Beispiel #2
0
def show_user_posts(request, username):
    # /users/<username>/posts?page=2
    user = get_user(username)

    qs = Post.objects.filter(creator=user).order_by('-date')
    posts, current_page, page_guide = get_qs_paged(
        request, qs, settings.LURKERFAQS_POSTS_PER_PAGE)

    posts = remove_hidden_posts(posts)
    for post in posts:
        post.contents = linkify(post.contents, settings.LURKERFAQS_LINKIFY_IMG )

    t = loader.get_template('user_posts.html')
    c = build_context(request, user=user, posts=posts,
        current_page=current_page, page_guide=page_guide)
    return HttpResponse(t.render(c))
Beispiel #3
0
def show_topic(request, board_alias, topic_num):
    # /boards/<board_alias>/<topic_num>?page=2
    try:
        board = Board.objects.get(alias=board_alias)
        topic = Topic.objects.get(gfaqs_id=topic_num)
        if topic.is_hidden():
            raise Http404
    except ObjectDoesNotExist:
        raise Http404

    qs = Post.objects.filter(topic=topic).order_by('date')
    posts, current_page, page_guide = get_qs_paged(
        request, qs, settings.LURKERFAQS_POSTS_PER_PAGE)

    if not posts:
        t = loader.get_template('posts_none.html')
        c = build_context(request, topic=topic, board=topic.board)
        return HttpResponse(t.render(c))

    posts = remove_hidden_posts(posts)
    for post in posts:
        post.contents = linkify(post.contents, settings.LURKERFAQS_LINKIFY_IMG)
    op_post = posts[0]

    # get related topics to this one
    related_topics_gids = SolrSearcher.search_related_topics(
            topic, settings.LURKERFAQS_RELATED_TOPICS_COUNT)
    related_topics = list(
        Topic.objects.filter(gfaqs_id__in=related_topics_gids)
    )
    for tp in related_topics:
        load_status_icon(tp)

    payment_enabled = settings.ENABLE_PAYMENTS

    t = loader.get_template('posts_new.html')
    c = build_context(request, board=topic.board, topic=topic,
            posts=posts, op_post=op_post, related_topics=related_topics,
            current_page=current_page, page_guide=page_guide,
            payment_enabled=payment_enabled)
    return HttpResponse(t.render(c))
Beispiel #4
0
 def test_youtube(self):
     youtube_vid = 'L8f5FvQZP0k'
     inp = 'http://www.youtube.com/watch?v=%s&feature=related' % youtube_vid
     self.assertEquals(YOUTUBE_HTML % youtube_vid, linkify(inp))
Beispiel #5
0
 def test_complicated(self):
     inp1 = 'care:<br/><br/>http://i48.tinypic.com/v2sqit.jpg</blockquote><br/><br/>Holy>care:<br/><br/>http://i48.tinypic.com/v2sqit.jpg</blockquote><br/><br/>Holy'
     inp2 = 'care:<br/><br/>i48.tinypic.ca/v2.jpg</blockquote><br/><br/>Holy>care:<br/><br/>i48.tinypic.ca/v2sqit.jpg</blockquote><br/><br/>Holy'
     self.assertEquals('care:<br/><br/><img src="http://i48.tinypic.com/v2sqit.jpg" alt="external image"/></blockquote><br/><br/>Holy>care:<br/><br/><img src="http://i48.tinypic.com/v2sqit.jpg" alt="external image"/></blockquote><br/><br/>Holy', linkify(inp1))
     self.assertEquals('care:<br/><br/><img src="i48.tinypic.ca/v2.jpg" alt="external image"/></blockquote><br/><br/>Holy>care:<br/><br/><img src="i48.tinypic.ca/v2sqit.jpg" alt="external image"/></blockquote><br/><br/>Holy', linkify(inp2))