|
|
@ -13,6 +13,7 @@ import copy |
|
|
|
from test.helper import FakeYDL, assertRegexpMatches |
|
|
|
from youtube_dl import YoutubeDL |
|
|
|
from youtube_dl.extractor import YoutubeIE |
|
|
|
from youtube_dl.postprocessor.common import PostProcessor |
|
|
|
|
|
|
|
|
|
|
|
class YDL(FakeYDL): |
|
|
@ -370,5 +371,36 @@ class TestFormatSelection(unittest.TestCase): |
|
|
|
'vbr': 10, |
|
|
|
}), '^\s*10k$') |
|
|
|
|
|
|
|
def test_postprocessors(self): |
|
|
|
filename = 'post-processor-testfile.mp4' |
|
|
|
audiofile = filename + '.mp3' |
|
|
|
|
|
|
|
class SimplePP(PostProcessor): |
|
|
|
def run(self, info): |
|
|
|
print(audiofile) |
|
|
|
with open(audiofile, 'wt') as f: |
|
|
|
f.write('EXAMPLE') |
|
|
|
info['filepath'] |
|
|
|
return False, info |
|
|
|
|
|
|
|
def run_pp(params): |
|
|
|
with open(filename, 'wt') as f: |
|
|
|
f.write('EXAMPLE') |
|
|
|
ydl = YoutubeDL(params) |
|
|
|
ydl.add_post_processor(SimplePP()) |
|
|
|
ydl.post_process(filename, {'filepath': filename}) |
|
|
|
|
|
|
|
run_pp({'keepvideo': True}) |
|
|
|
self.assertTrue(os.path.exists(filename), '%s doesn\'t exist' % filename) |
|
|
|
self.assertTrue(os.path.exists(audiofile), '%s doesn\'t exist' % audiofile) |
|
|
|
os.unlink(filename) |
|
|
|
os.unlink(audiofile) |
|
|
|
|
|
|
|
run_pp({'keepvideo': False}) |
|
|
|
self.assertFalse(os.path.exists(filename), '%s exists' % filename) |
|
|
|
self.assertTrue(os.path.exists(audiofile), '%s doesn\'t exist' % audiofile) |
|
|
|
os.unlink(audiofile) |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
|
unittest.main() |