Browse Source
[downloader/http] Use write_xattr function for --xattr-set-filesize
master
Yen Chi Hsuan
8 years ago
No known key found for this signature in database
GPG Key ID: 3FDDD575826C5C30
2 changed files with
5 additions and
9 deletions
-
youtube_dl/__init__.py
-
youtube_dl/downloader/http.py
|
|
@ -283,12 +283,6 @@ def _real_main(argv=None): |
|
|
|
'key': 'ExecAfterDownload', |
|
|
|
'exec_cmd': opts.exec_cmd, |
|
|
|
}) |
|
|
|
if opts.xattr_set_filesize: |
|
|
|
try: |
|
|
|
import xattr |
|
|
|
xattr # Confuse flake8 |
|
|
|
except ImportError: |
|
|
|
parser.error('setting filesize xattr requested but python-xattr is not available') |
|
|
|
external_downloader_args = None |
|
|
|
if opts.external_downloader_args: |
|
|
|
external_downloader_args = compat_shlex_split(opts.external_downloader_args) |
|
|
|
|
|
@ -13,6 +13,9 @@ from ..utils import ( |
|
|
|
encodeFilename, |
|
|
|
sanitize_open, |
|
|
|
sanitized_Request, |
|
|
|
write_xattr, |
|
|
|
XAttrMetadataError, |
|
|
|
XAttrUnavailableError, |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
@ -179,9 +182,8 @@ class HttpFD(FileDownloader): |
|
|
|
|
|
|
|
if self.params.get('xattr_set_filesize', False) and data_len is not None: |
|
|
|
try: |
|
|
|
import xattr |
|
|
|
xattr.setxattr(tmpfilename, 'user.ytdl.filesize', str(data_len)) |
|
|
|
except(OSError, IOError, ImportError) as err: |
|
|
|
write_xattr(tmpfilename, 'user.ytdl.filesize', str(data_len)) |
|
|
|
except (XAttrUnavailableError, XAttrMetadataError) as err: |
|
|
|
self.report_error('unable to set filesize xattr: %s' % str(err)) |
|
|
|
|
|
|
|
try: |
|
|
|