mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 04:57:07 -05:00 
			
		
		
		
	[downloader/http] Use write_xattr function for --xattr-set-filesize
This commit is contained in:
		@@ -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:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user