1
0
Fork 0
mirror of synced 2024-06-26 10:00:20 +12:00

Fix case where Gfycat fails after redirect

This commit is contained in:
Serene-Arc 2021-03-21 20:31:18 +10:00 committed by Ali Parlakci
parent 0d78e16b2d
commit c13f2806fa
2 changed files with 7 additions and 1 deletions

View file

@ -28,7 +28,12 @@ class Gfycat(GifDeliveryNetwork):
gfycat_id = re.match(r'.*/(.*?)/?$', url).group(1)
url = 'https://gfycat.com/' + gfycat_id
page_source = requests.get(url).text
response = requests.get(url)
page_source = response.text
if 'gifdeliverynetwork' in response.url:
return GifDeliveryNetwork._get_link(url)
soup = BeautifulSoup(page_source, 'html.parser')
content = soup.find('script', attrs={'data-react-helmet': 'true', 'type': 'application/ld+json'})

View file

@ -13,6 +13,7 @@ from bulkredditdownloader.site_downloaders.gfycat import Gfycat
@pytest.mark.parametrize(('test_url', 'expected_url'), (
('https://gfycat.com/definitivecaninecrayfish', 'https://giant.gfycat.com/DefinitiveCanineCrayfish.mp4'),
('https://gfycat.com/dazzlingsilkyiguana', 'https://giant.gfycat.com/DazzlingSilkyIguana.mp4'),
('https://gfycat.com/webbedimpurebutterfly', 'https://thumbs2.redgifs.com/WebbedImpureButterfly.mp4'),
))
def test_get_link(test_url: str, expected_url: str):
result = Gfycat._get_link(test_url)