X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Futils.py;h=0720fe9ebb180b15e55c5c308e600063feae6026;hb=3f8ced5144a76a3f9ab7ee8cd06cc79bb75dc564;hp=b50c8166fced87bfa8b3346ba57b6ea8a5321c0a;hpb=71791f414ca93d819b8585882ec1eeb006dbb63b;p=youtube-dl diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index b50c8166f..0720fe9eb 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -951,7 +951,16 @@ class locked_file(object): def shell_quote(args): - return ' '.join(map(pipes.quote, args)) + quoted_args = [] + encoding = sys.getfilesystemencoding() + if encoding is None: + encoding = 'utf-8' + for a in args: + if isinstance(a, bytes): + # We may get a filename encoded with 'encodeFilename' + a = a.decode(encoding) + quoted_args.append(pipes.quote(a)) + return u' '.join(quoted_args) def takewhile_inclusive(pred, seq):