[xattr] Correct on Windows
[youtube-dl] / youtube_dl / postprocessor / xattrpp.py
index 1cb8ecf1c89ce8b42b5dab16551ac9418a747b82..e230f2c540f453260aaabc777342a60211af092a 100644 (file)
@@ -40,12 +40,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 +98,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