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))
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))
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))
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))
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))