|
|
|
@ -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'
|
|
|
|
|