diff options
| -rw-r--r-- | youtube_dl/options.py | 15 | 
1 files changed, 13 insertions, 2 deletions
| diff --git a/youtube_dl/options.py b/youtube_dl/options.py index c4a85b2c0..942d44912 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals  import os.path  import optparse +import re  import sys  from .downloader.external import list_external_downloaders @@ -93,8 +94,18 @@ def parseOpts(overrideArguments=None):          setattr(parser.values, option.dest, value.split(','))      def _hide_login_info(opts): -        opts = list(opts) -        for private_opt in ['-p', '--password', '-u', '--username', '--video-password']: +        PRIVATE_OPTS = ['-p', '--password', '-u', '--username', '--video-password'] +        eqre = re.compile('^(?P<key>' + ('|'.join(re.escape(po) for po in PRIVATE_OPTS)) + ')=.+$') + +        def _scrub_eq(o): +            m = eqre.match(o) +            if m: +                return m.group('key') + '=PRIVATE' +            else: +                return o + +        opts = list(map(_scrub_eq, opts)) +        for private_opt in PRIVATE_OPTS:              try:                  i = opts.index(private_opt)                  opts[i + 1] = 'PRIVATE' | 
