From bc868e7bb8ad82d9d2bef7a609aa2deb50fca647 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Sun, 2 May 2021 21:15:50 +0200 Subject: [PATCH] consider apparently long extensions as part of the filename (#1516) --- gallery_dl/text.py | 2 +- test/test_text.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gallery_dl/text.py b/gallery_dl/text.py index a6a9105b..74b87fb7 100644 --- a/gallery_dl/text.py +++ b/gallery_dl/text.py @@ -67,7 +67,7 @@ def nameext_from_url(url, data=None): filename = unquote(filename_from_url(url)) name, _, ext = filename.rpartition(".") - if name: + if name and len(ext) <= 16: data["filename"], data["extension"] = name, ext.lower() else: data["filename"], data["extension"] = filename, "" diff --git a/test/test_text.py b/test/test_text.py index 1daefde8..3ab9e73c 100644 --- a/test/test_text.py +++ b/test/test_text.py @@ -148,6 +148,10 @@ class TestText(unittest.TestCase): self.assertEqual( f("http://example.org/v2/filename.ext?param=value#frag"), result) + # long "extension" + fn = "httpswww.example.orgpath-path-path-path-path-path-path-path" + self.assertEqual(f(fn), {"filename": fn, "extension": ""}) + # invalid arguments for value in INVALID: self.assertEqual(f(value), empty)