From 7fad0137a4fd02e3ee2ad20588b3f8f8e9a25a21 Mon Sep 17 00:00:00 2001 From: Ryu1845 Date: Wed, 28 Sep 2022 16:29:42 +0200 Subject: [PATCH] Fix --keep-files (#71) --- twspace_dl/__main__.py | 5 +++-- twspace_dl/twspace_dl.py | 12 ++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/twspace_dl/__main__.py b/twspace_dl/__main__.py index 2073fa6..ff8739c 100644 --- a/twspace_dl/__main__.py +++ b/twspace_dl/__main__.py @@ -4,6 +4,7 @@ import json import logging import os +import shutil import sys from types import TracebackType from typing import Iterable, Type @@ -124,8 +125,8 @@ def space(args: argparse.Namespace) -> int: except KeyboardInterrupt: logging.info("Download Interrupted by user") finally: - if not args.keep_files and os.path.exists(twspace_dl.tempdir.name): - twspace_dl.tempdir.cleanup() + if not args.keep_files and os.path.exists(twspace_dl.tempdir): + shutil.rmtree(twspace_dl.tempdir) return EXIT_CODE_SUCCESS diff --git a/twspace_dl/twspace_dl.py b/twspace_dl/twspace_dl.py index f973d88..a1cf3df 100644 --- a/twspace_dl/twspace_dl.py +++ b/twspace_dl/twspace_dl.py @@ -21,7 +21,7 @@ def __init__(self, space: Twspace, format_str: str) -> None: self.space = space self.format_str = format_str or DEFAULT_FNAME_FORMAT self.session = requests.Session() - self._tempdir = tempfile.TemporaryDirectory(dir=".") + self._tempdir = tempfile.mkdtemp(dir=".") @cached_property def filename(self) -> str: @@ -104,7 +104,7 @@ def download(self) -> None: if not shutil.which("ffmpeg"): raise FileNotFoundError("ffmpeg not installed") space = self.space - self.write_playlist(save_dir=self._tempdir.name) + self.write_playlist(save_dir=self._tempdir) state = space["state"] cmd_base = [ @@ -125,8 +125,8 @@ def download(self) -> None: ] filename = os.path.basename(self.filename) - filename_m3u8 = os.path.join(self._tempdir.name, filename + ".m3u8") - filename_old = os.path.join(self._tempdir.name, filename + ".m4a") + filename_m3u8 = os.path.join(self._tempdir, filename + ".m3u8") + filename_old = os.path.join(self._tempdir, filename + ".m4a") cmd_old = cmd_base.copy() cmd_old.insert(1, "-protocol_whitelist") cmd_old.insert(2, "file,https,tls,tcp") @@ -135,12 +135,12 @@ def download(self) -> None: logging.debug("Command for the old part: %s", " ".join(cmd_old)) if state == "Running": - filename_new = os.path.join(self._tempdir.name, filename + "_new.m4a") + filename_new = os.path.join(self._tempdir, filename + "_new.m4a") cmd_new = cmd_base.copy() cmd_new.insert(6, (self.dyn_url)) cmd_new.append(filename_new) - concat_fn = os.path.join(self._tempdir.name, "list.txt") + concat_fn = os.path.join(self._tempdir, "list.txt") with open(concat_fn, "w", encoding="utf-8") as list_io: list_io.write( "file "