def test_urls_in_text(self): urls = find_urls_in_text(self.urls_in_text) self.assertEqual( urls, { "https://example1.com", "https://example2.com", "https://example-3.com" })
def fetch_content_preview(content): """Fetch a preview or oEmbed for a content. Will first try to fetch oEmbed for each found url. If not available, generate a preview from the OG tags. """ urls = find_urls_in_text(content.text) if not urls: return preview_done = fetch_oembed_preview(content, urls) if not preview_done: fetch_og_preview(content, urls)
def fetch_content_preview(content): """Fetch a preview or oEmbed for a content. Will first try to fetch oEmbed for each found url. If not available, generate a preview from the OG tags. """ if not content.show_preview: return urls = find_urls_in_text(content.text) if not urls: return preview_done = fetch_oembed_preview(content, urls) if not preview_done: fetch_og_preview(content, urls)
def test_special_chars(self): urls = find_urls_in_text(self.special_chars) self.assertEqual(urls, [self.special_chars])
def test_without_protocol(self): urls = find_urls_in_text(self.without_protocol) self.assertEqual(urls, ["http://example.org"])
def test_starts_with_url(self): urls = find_urls_in_text(self.starts_with_url) self.assertEqual(urls, [self.starts_with_url]) urls = find_urls_in_text(self.http_starts_with_url) self.assertEqual(urls, [self.http_starts_with_url])
def test_numbers(self): urls = find_urls_in_text(self.numbers) self.assertEqual(urls, [self.numbers])
def test_ignores_mention(self): urls = find_urls_in_text(self.with_mention) self.assertEqual(urls, ["https://example.net"])
def test_returns_in_order_without_duplicates(self): urls = find_urls_in_text(self.many_for_ordered) self.assertEqual(urls, ["http://spam.com", "http://eggs.com"])
def test_href_markdown(self): urls = find_urls_in_text(self.href_and_markdown) self.assertEqual(urls, [ "https://example.com", "https://example.net", "https://example.org" ])
def test_without_protocol(self): urls = find_urls_in_text(self.without_protocol) self.assertEqual(urls, ["http://example.org"])
def test_href_markdown(self): urls = find_urls_in_text(self.href_and_markdown) self.assertEqual(urls, ["https://example.com", "https://example.net", "https://example.org"])
def test_href_markdown_etc_skipped(self): urls = find_urls_in_text(self.href_and_markdown) self.assertEqual(urls, [])
def test_urls_in_text(self): urls = find_urls_in_text(self.urls_in_text) self.assertEqual(urls, [ "https://example1.com", "https://example2.com", "https://example-3.com" ])
def test_special_chars(self): urls = find_urls_in_text(self.special_chars) self.assertEqual(urls, [self.special_chars])
def test_numbers(self): urls = find_urls_in_text(self.numbers) self.assertEqual(urls, [self.numbers])
def test_starts_with_url(self): urls = find_urls_in_text(self.starts_with_url) self.assertEqual(urls, [self.starts_with_url]) urls = find_urls_in_text(self.http_starts_with_url) self.assertEqual(urls, [self.http_starts_with_url])
def test_returns_in_order_without_duplicates(self): urls = find_urls_in_text(self.many_for_ordered) self.assertEqual(urls, ["http://spam.com", "http://eggs.com"])