diff --git a/README.md b/README.md index f41e7ecee1..f4fbf00346 100644 --- a/README.md +++ b/README.md @@ -515,6 +515,7 @@ # EMBEDDING YOUTUBE-DL From a Python program, you can embed youtube-dl in a more powerful fashion, like this: ```python +from __future__ import unicode_literals import youtube_dl ydl_opts = {} @@ -527,6 +528,7 @@ # EMBEDDING YOUTUBE-DL Here's a more complete example of a program that outputs only errors (and a short message after the download is finished), and downloads/converts the video to an mp3 file: ```python +from __future__ import unicode_literals import youtube_dl diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index be5b3c1ab5..e779fc9a87 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -323,6 +323,11 @@ def __init__(self, params=None, auto_init=True): 'Set the LC_ALL environment variable to fix this.') self.params['restrictfilenames'] = True + if isinstance(params.get('outtmpl'), bytes): + self.report_warning( + 'Parameter outtmpl is bytes, but should be a unicode string. ' + 'Put from __future__ import unicode_literals at the top of your code file or consider switching to Python 3.x.') + if '%(stitle)s' in self.params.get('outtmpl', ''): self.report_warning('%(stitle)s is deprecated. Use the %(title)s and the --restrict-filenames flag(which also secures %(uploader)s et al) instead.')