From 579c5ab8eb4916e7bad8278851707b5614851f4c Mon Sep 17 00:00:00 2001 From: Soulsuck24 <79275800+Soulsuck24@users.noreply.github.com> Date: Fri, 6 Jan 2023 11:56:54 -0500 Subject: [PATCH 1/2] Add new Redgifs subdomain Seems there's a v3 subdomain now (looks like it's mostly for mobile) --- bdfr/site_downloaders/download_factory.py | 2 +- tests/site_downloaders/test_download_factory.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/bdfr/site_downloaders/download_factory.py b/bdfr/site_downloaders/download_factory.py index 6237ecd..719d564 100644 --- a/bdfr/site_downloaders/download_factory.py +++ b/bdfr/site_downloaders/download_factory.py @@ -28,7 +28,7 @@ class DownloadFactory: sanitised_url = DownloadFactory.sanitise_url(url) if re.match(r"(i\.|m\.)?imgur", sanitised_url): return Imgur - elif re.match(r"(i\.|thumbs\d\.)?(redgifs|gifdeliverynetwork)", sanitised_url): + elif re.match(r"(i\.|thumbs\d\.|v\d\.)?(redgifs|gifdeliverynetwork)", sanitised_url): return Redgifs elif re.match(r".*/.*\.[a-zA-Z34]{3,4}(\?[\w;&=]*)?$", sanitised_url) and not DownloadFactory.is_web_resource( sanitised_url diff --git a/tests/site_downloaders/test_download_factory.py b/tests/site_downloaders/test_download_factory.py index 062635c..f95e609 100644 --- a/tests/site_downloaders/test_download_factory.py +++ b/tests/site_downloaders/test_download_factory.py @@ -41,6 +41,7 @@ from bdfr.site_downloaders.youtube import Youtube ("https://redgifs.com/watch/courageousimpeccablecanvasback", Redgifs), ("https://www.gifdeliverynetwork.com/repulsivefinishedandalusianhorse", Redgifs), ("https://thumbs4.redgifs.com/DismalIgnorantDrongo-mobile.mp4", Redgifs), + ("https://v3.redgifs.com/watch/kaleidoscopicdaringvenomoussnake", Redgifs), ("https://youtu.be/DevfjHOhuFc", Youtube), ("https://m.youtube.com/watch?v=kr-FeojxzUM", Youtube), ("https://dynasty-scans.com/system/images_images/000/017/819/original/80215103_p0.png?1612232781", Direct), From 105ceaf386cf782202eea4db1b1e3487f0a127a7 Mon Sep 17 00:00:00 2001 From: Soulsuck24 <79275800+Soulsuck24@users.noreply.github.com> Date: Wed, 25 Jan 2023 04:43:06 -0500 Subject: [PATCH 2/2] More Redgifs coverage --- bdfr/site_downloaders/redgifs.py | 2 +- tests/site_downloaders/test_redgifs.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/bdfr/site_downloaders/redgifs.py b/bdfr/site_downloaders/redgifs.py index 205674a..9c469bc 100644 --- a/bdfr/site_downloaders/redgifs.py +++ b/bdfr/site_downloaders/redgifs.py @@ -27,7 +27,7 @@ class Redgifs(BaseDownloader): try: if url.endswith("/"): url = url.removesuffix("/") - redgif_id = re.match(r".*/(.*?)(?:\?.*|\..{0,})?$", url).group(1).lower() + redgif_id = re.match(r".*/(.*?)(?:#.*|\?.*|\..{0,})?$", url).group(1).lower() if redgif_id.endswith("-mobile"): redgif_id = redgif_id.removesuffix("-mobile") except AttributeError: diff --git a/tests/site_downloaders/test_redgifs.py b/tests/site_downloaders/test_redgifs.py index 5f4f6fc..9d1a7f5 100644 --- a/tests/site_downloaders/test_redgifs.py +++ b/tests/site_downloaders/test_redgifs.py @@ -18,6 +18,7 @@ from bdfr.site_downloaders.redgifs import Redgifs ("https://www.redgifs.com/watch/marriedcrushingcob?rel=u%3Akokiri.girl%3Bo%3Arecent", "marriedcrushingcob"), ("https://thumbs4.redgifs.com/DismalIgnorantDrongo.mp4", "dismalignorantdrongo"), ("https://thumbs4.redgifs.com/DismalIgnorantDrongo-mobile.mp4", "dismalignorantdrongo"), + ("https://v3.redgifs.com/watch/newilliteratemeerkat#rel=user%3Atastynova", "newilliteratemeerkat"), ), ) def test_get_id(test_url: str, expected: str):