X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fpostprocessor%2Fxattrpp.py;h=f6c63fe97545d86947ef1ef4bf2d70e9ea7144be;hb=ca75235d3db0d9349c2365a6d2cbaf10c2098063;hp=4317ba8366622ce7133f1d5234d13b2eb160c998;hpb=afc7bc33cb8dc63a5e3495e7e11b47f84d89be23;p=youtube-dl diff --git a/youtube_dl/postprocessor/xattrpp.py b/youtube_dl/postprocessor/xattrpp.py index 4317ba836..f6c63fe97 100644 --- a/youtube_dl/postprocessor/xattrpp.py +++ b/youtube_dl/postprocessor/xattrpp.py @@ -1,12 +1,16 @@ +from __future__ import unicode_literals + import os import subprocess import sys from .common import PostProcessor +from ..compat import ( + subprocess_check_output +) from ..utils import ( check_executable, hyphenate_date, - preferredencoding, ) @@ -40,12 +44,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 +62,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. @@ -107,4 +110,3 @@ class XAttrMetadataPP(PostProcessor): except (subprocess.CalledProcessError, OSError): self._downloader.report_error("This filesystem doesn't support extended attributes. (You may have to enable them in your /etc/fstab)") return False, info -