diff options
| -rw-r--r-- | youtube_dl/compat.py | 9 | ||||
| -rw-r--r-- | youtube_dl/options.py | 3 | 
2 files changed, 11 insertions, 1 deletions
| diff --git a/youtube_dl/compat.py b/youtube_dl/compat.py index b3752634a..385924803 100644 --- a/youtube_dl/compat.py +++ b/youtube_dl/compat.py @@ -288,6 +288,14 @@ if sys.version_info < (3, 0) and sys.platform == 'win32':  else:      compat_getpass = getpass.getpass +# Old 2.6 and 2.7 releases require kwargs to be bytes +try: +    (lambda x: x)(**{'x': 0}) +except TypeError: +    def compat_kwargs(kwargs): +        return dict((bytes(k), v) for k, v in kwargs.items()) +else: +    compat_kwargs = lambda kwargs: kwargs  __all__ = [      'compat_HTTPError', @@ -299,6 +307,7 @@ __all__ = [      'compat_html_entities',      'compat_html_parser',      'compat_http_client', +    'compat_kwargs',      'compat_ord',      'compat_parse_qs',      'compat_print', diff --git a/youtube_dl/options.py b/youtube_dl/options.py index c182abfdc..16aa6ffca 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -8,6 +8,7 @@ import sys  from .compat import (      compat_expanduser,      compat_getenv, +    compat_kwargs,  )  from .utils import (      get_term_width, @@ -112,7 +113,7 @@ def parseOpts(overrideArguments=None):          'conflict_handler': 'resolve',      } -    parser = optparse.OptionParser(**kw) +    parser = optparse.OptionParser(**compat_kwargs(kw))      general = optparse.OptionGroup(parser, 'General Options')      general.add_option( | 
