mirror of
https://github.com/YuzuZensai/spleeter.git
synced 2026-01-31 14:58:23 +00:00
Merge pull request #352 from marshalium/cleanup_tempfile
Cleanup model archive tempfile
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
import hashlib
|
import hashlib
|
||||||
import tarfile
|
import tarfile
|
||||||
|
import os
|
||||||
|
|
||||||
from tempfile import NamedTemporaryFile
|
from tempfile import NamedTemporaryFile
|
||||||
|
|
||||||
@@ -96,16 +97,18 @@ class GithubModelProvider(ModelProvider):
|
|||||||
with requests.get(url, stream=True) as response:
|
with requests.get(url, stream=True) as response:
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
archive = NamedTemporaryFile(delete=False)
|
archive = NamedTemporaryFile(delete=False)
|
||||||
with archive as stream:
|
try:
|
||||||
# Note: check for chunk size parameters ?
|
with archive as stream:
|
||||||
for chunk in response.iter_content(chunk_size=8192):
|
# Note: check for chunk size parameters ?
|
||||||
if chunk:
|
for chunk in response.iter_content(chunk_size=8192):
|
||||||
stream.write(chunk)
|
if chunk:
|
||||||
get_logger().info('Validating archive checksum')
|
stream.write(chunk)
|
||||||
if compute_file_checksum(archive.name) != self.checksum(name):
|
get_logger().info('Validating archive checksum')
|
||||||
raise IOError('Downloaded file is corrupted, please retry')
|
if compute_file_checksum(archive.name) != self.checksum(name):
|
||||||
get_logger().info('Extracting downloaded %s archive', name)
|
raise IOError('Downloaded file is corrupted, please retry')
|
||||||
tar = tarfile.open(name=archive.name)
|
get_logger().info('Extracting downloaded %s archive', name)
|
||||||
tar.extractall(path=path)
|
with tarfile.open(name=archive.name) as tar:
|
||||||
tar.close()
|
tar.extractall(path=path)
|
||||||
|
finally:
|
||||||
|
os.unlink(archive.name)
|
||||||
get_logger().info('%s model file(s) extracted', name)
|
get_logger().info('%s model file(s) extracted', name)
|
||||||
|
|||||||
Reference in New Issue
Block a user