Browse Source

[downloader/http] Use write_xattr function for --xattr-set-filesize

totalwebcasting
Yen Chi Hsuan 8 years ago
parent
commit
d7753d1948
No known key found for this signature in database GPG Key ID: 3FDDD575826C5C30
2 changed files with 5 additions and 9 deletions
  1. +0
    -6
      youtube_dl/__init__.py
  2. +5
    -3
      youtube_dl/downloader/http.py

+ 0
- 6
youtube_dl/__init__.py View File

@ -283,12 +283,6 @@ def _real_main(argv=None):
'key': 'ExecAfterDownload', 'key': 'ExecAfterDownload',
'exec_cmd': opts.exec_cmd, '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 external_downloader_args = None
if opts.external_downloader_args: if opts.external_downloader_args:
external_downloader_args = compat_shlex_split(opts.external_downloader_args) external_downloader_args = compat_shlex_split(opts.external_downloader_args)


+ 5
- 3
youtube_dl/downloader/http.py View File

@ -13,6 +13,9 @@ from ..utils import (
encodeFilename, encodeFilename,
sanitize_open, sanitize_open,
sanitized_Request, 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: if self.params.get('xattr_set_filesize', False) and data_len is not None:
try: 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)) self.report_error('unable to set filesize xattr: %s' % str(err))
try: try:


Loading…
Cancel
Save