[youtube] Fix playlist extraction (Closes #2423, #2424, #2425)
[youtube-dl] / youtube_dl / postprocessor / xattrpp.py
index 1cb8ecf1c89ce8b42b5dab16551ac9418a747b82..18979241cd9f0bb70cf2d8e9c00709ec43db1fea 100644 (file)
@@ -6,7 +6,6 @@ from .common import PostProcessor
 from ..utils import (
     check_executable,
     hyphenate_date,
-    preferredencoding,
 )
 
 
@@ -40,12 +39,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'])
@@ -99,7 +97,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