From 752cda3880f30a46bed1d27b69188ab93ad1a368 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Thu, 3 Jun 2021 23:30:38 +0530 Subject: Fix and refactor `prepare_outtmpl` The following tests would have failed previously: %(id)d %(id)r %(ext)s-%(ext|def)d %(width|)d %(id)r %(height)r %(formats.0)r %s --- test/test_postprocessors.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test/test_postprocessors.py') diff --git a/test/test_postprocessors.py b/test/test_postprocessors.py index 1f8f375cc..bdc2d93cb 100644 --- a/test/test_postprocessors.py +++ b/test/test_postprocessors.py @@ -8,7 +8,10 @@ import sys import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +from yt_dlp import YoutubeDL +from yt_dlp.compat import compat_shlex_quote from yt_dlp.postprocessor import ( + ExecAfterDownloadPP, FFmpegThumbnailsConvertorPP, MetadataFromFieldPP, MetadataFromTitlePP, @@ -55,3 +58,14 @@ class TestConvertThumbnail(unittest.TestCase): for _, out in tests: os.remove(file.format(out)) + + +class TestExecAfterDownload(unittest.TestCase): + def test_parse_cmd(self): + pp = ExecAfterDownloadPP(YoutubeDL(), '') + info = {'filepath': 'file name'} + quoted_filepath = compat_shlex_quote(info['filepath']) + + self.assertEqual(pp.parse_cmd('echo', info), 'echo %s' % quoted_filepath) + self.assertEqual(pp.parse_cmd('echo.{}', info), 'echo.%s' % quoted_filepath) + self.assertEqual(pp.parse_cmd('echo "%(filepath)s"', info), 'echo "%s"' % info['filepath']) -- cgit v1.2.3