X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fpostprocessor%2Fxattrpp.py;h=b5cae41c8cd061a494a722c1db4261e3eca597b8;hb=69ede8ef813bc686384a230bf461adfdd7f218c0;hp=1cb8ecf1c89ce8b42b5dab16551ac9418a747b82;hpb=168da92b9a1509d11fdbe505109b8eff77819602;p=youtube-dl diff --git a/youtube_dl/postprocessor/xattrpp.py b/youtube_dl/postprocessor/xattrpp.py index 1cb8ecf1c..b5cae41c8 100644 --- a/youtube_dl/postprocessor/xattrpp.py +++ b/youtube_dl/postprocessor/xattrpp.py @@ -3,10 +3,12 @@ import subprocess import sys from .common import PostProcessor +from ..compat import ( + subprocess_check_output +) from ..utils import ( check_executable, hyphenate_date, - preferredencoding, ) @@ -40,12 +42,11 @@ class XAttrMetadataPP(PostProcessor): # Write xattrs to NTFS Alternate Data Streams: # http://en.wikipedia.org/wiki/NTFS#Alternate_data_streams_.28ADS.29 def write_xattr(path, key, value): - assert(key.find(":") < 0) - assert(path.find(":") < 0) - assert(os.path.exists(path)) + assert ':' not in key + assert os.path.exists(path) ads_fn = path + ":" + key - with open(ads_fn, "w") as f: + with open(ads_fn, "wb") as f: f.write(value) else: user_has_setfattr = check_executable("setfattr", ['--version']) @@ -59,7 +60,7 @@ class XAttrMetadataPP(PostProcessor): elif user_has_xattr: cmd = ['xattr', '-w', key, value, path] - subprocess.check_output(cmd) + subprocess_check_output(cmd) else: # On Unix, and can't find pyxattr, setfattr, or xattr. @@ -99,7 +100,7 @@ class XAttrMetadataPP(PostProcessor): if infoname == "upload_date": value = hyphenate_date(value) - byte_value = value.encode(preferredencoding()) + byte_value = value.encode('utf-8') write_xattr(filename, xattrname, byte_value) return True, info