youtube-dl/youtube_dl
Yen Chi Hsuan 53a7e3d287
[utils] Support xattr as well as pyxattr
Closes #9054

There are two xattr packages in Python, pyxattr [1] and xattr [2]. They
have different APIs.

In old days pyxattr supports Linux only and xattr supports Linux, Mac,
FreeBSD and Solaris, and pyxattr supports Linux only. Recently pyxattr
adds support for Mac OS X. [3]

An old version of [2] is shipped with Mac OS X. However, some Linux
distributions have pyxattr only, for example PLD-Linux [4] and old Arch
Linux. [5] As a result, supporting both is the way to go.

[1] https://github.com/iustin/pyxattr
[2] https://github.com/xattr/xattr
[3] https://github.com/iustin/pyxattr/pull/9
[4] https://github.com/rg3/youtube-dl/issues/5498
[5] https://git.archlinux.org/svntogit/community.git/commit/?id=427c4c76401e386d865ccddea4fbfdc74df80492
    https://git.archlinux.org/svntogit/community.git/commit/?id=59b40da7b69622a6761d364a8b07909e9cccaa56
    python-xattr is added on 2016/06/29 while pyxattr is there for more
    than 6 years
2016-10-01 20:13:04 +08:00
..
downloader [downloader/http] xattr values should be bytes 2016-10-01 19:58:13 +08:00
extractor Merge pull request #10818 from TRox1972/criterion_match_id 2016-10-01 19:49:18 +08:00
postprocessor Move write_xattr to utils.py 2016-09-30 00:28:32 +08:00
__init__.py [downloader/http] Use write_xattr function for --xattr-set-filesize 2016-10-01 14:47:20 +08:00
__main__.py
aes.py
cache.py
compat.py
jsinterp.py
options.py [options] Actually print Adobe Pass options sections in --help 2016-09-15 22:18:31 +07:00
socks.py
swfinterp.py
update.py
utils.py [utils] Support xattr as well as pyxattr 2016-10-01 20:13:04 +08:00
version.py release 2016.09.27 2016-09-27 23:09:46 +07:00
YoutubeDL.py [YoutubeDL] Improve Adobe Pass options' wording 2016-09-15 22:24:55 +07:00