From 62c4536d0b21b3cbf4de66b16c3e77a6607cc678 Mon Sep 17 00:00:00 2001 From: msramalho <19508417+msramalho@users.noreply.github.com> Date: Tue, 21 Jun 2022 01:03:48 +0200 Subject: [PATCH] fix ytdl filenames --- tests/scraper_test.py | 7 +++++-- vk_url_scraper/scraper.py | 5 +++-- vk_url_scraper/version.py | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/scraper_test.py b/tests/scraper_test.py index 81bbd77..b4c8cf4 100644 --- a/tests/scraper_test.py +++ b/tests/scraper_test.py @@ -131,5 +131,8 @@ def test_scrape_video_only(): def test_scrape_video_only2(): - res = vks.scrape("https://vk.com/video-1_456239018") - print(res[0]["attachments"]["video"][0]) + res = vks.scrape("https://vk.com/video-17546758_456239898") + with tempfile.TemporaryDirectory(dir="./") as tempdir: + vks.download_media(res, tempdir) + found_files = set(os.listdir(tempdir)) + assert "video-17546758_456239898_0.mkv.webm" in found_files diff --git a/vk_url_scraper/scraper.py b/vk_url_scraper/scraper.py index 5f13130..a4cfc68 100644 --- a/vk_url_scraper/scraper.py +++ b/vk_url_scraper/scraper.py @@ -313,7 +313,8 @@ class VkScraper: elif k == "video": for i, url in enumerate(attachments): filename = os.path.join(destination, f"{r['id']}_{i}.mkv") - ydl = yt_dlp.YoutubeDL({"outtmpl": filename, "quiet": True}) - ydl.extract_info(url, download=True) + ydl = yt_dlp.YoutubeDL({"outtmpl": filename, "quiet": True, 'restrictfilenames': True, 'forcefilename': True, }) + info = ydl.extract_info(url, download=True) + filename = ydl.prepare_filename(info) downloaded.append(filename) return downloaded diff --git a/vk_url_scraper/version.py b/vk_url_scraper/version.py index 2120dde..977d33d 100644 --- a/vk_url_scraper/version.py +++ b/vk_url_scraper/version.py @@ -2,7 +2,7 @@ _MAJOR = "0" _MINOR = "2" # On main and in a nightly release the patch should be one ahead of the last # released build. -_PATCH = "1" +_PATCH = "2" # This is mainly for nightly builds which have the suffix ".dev$DATE". See # https://semver.org/#is-v123-a-semantic-version for the semantics. _SUFFIX = ""