diff options
| -rw-r--r-- | youtube_dl/__init__.py | 6 | ||||
| -rw-r--r-- | youtube_dl/downloader/http.py | 8 | 
2 files changed, 5 insertions, 9 deletions
diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index 1cf3140a0..72141b983 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.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) diff --git a/youtube_dl/downloader/http.py b/youtube_dl/downloader/http.py index f8b69d186..11294d106 100644 --- a/youtube_dl/downloader/http.py +++ b/youtube_dl/downloader/http.py @@ -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:  | 
