[xattr] Write bytestrings, not characters
authorPhilipp Hagemeister <phihag@phihag.de>
Tue, 7 Jan 2014 05:11:21 +0000 (06:11 +0100)
committerPhilipp Hagemeister <phihag@phihag.de>
Tue, 7 Jan 2014 05:11:21 +0000 (06:11 +0100)
youtube_dl/postprocessor/xattrpp.py

index 440df93ecc1503668f460284b8a325c8f61ee80f..5811d3568f02982b9df2e1d1645b1c28d8115d61 100644 (file)
@@ -5,6 +5,7 @@ import sys
 from .common import PostProcessor
 from ..utils import (
     hyphenate_date,
+    preferredencoding,
 )
 
 
@@ -70,7 +71,7 @@ class XAttrMetadataPP(PostProcessor):
                                     e = OSError(potential_errno, potential_errorstr)
                                     e.__cause__ = None
                                     raise e
-                            raise # Reraise unhandled error
+                            raise  # Reraise unhandled error
 
                 else:
                     # On Unix, and can't find pyxattr, setfattr, or xattr.
@@ -113,7 +114,8 @@ class XAttrMetadataPP(PostProcessor):
                     if infoname == "upload_date":
                         value = hyphenate_date(value)
 
-                    write_xattr(filename, xattrname, value)
+                    byte_value = value.encode(preferredencoding())
+                    write_xattr(filename, xattrname, byte_value)
 
             return True, info