From fc0c949187573d730a87b5527b3eab6ad02c0ca1 Mon Sep 17 00:00:00 2001 From: Victor Shyba <victor1984@riseup.net> Date: Wed, 13 Feb 2019 20:41:01 -0300 Subject: [PATCH] properly update file name on downloader/assembler --- lbrynet/stream/assembler.py | 11 +++++++---- lbrynet/stream/downloader.py | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/lbrynet/stream/assembler.py b/lbrynet/stream/assembler.py index 913d538ba..ab0572e21 100644 --- a/lbrynet/stream/assembler.py +++ b/lbrynet/stream/assembler.py @@ -21,7 +21,7 @@ def _get_next_available_file_name(download_directory: str, file_name: str) -> st i += 1 file_name = "%s_%i%s" % (base_name, i, ext) - return os.path.join(download_directory, file_name) + return file_name async def get_next_available_file_name(loop: asyncio.BaseEventLoop, download_directory: str, file_name: str) -> str: @@ -29,7 +29,9 @@ async def get_next_available_file_name(loop: asyncio.BaseEventLoop, download_dir class StreamAssembler: - def __init__(self, loop: asyncio.BaseEventLoop, blob_manager: 'BlobFileManager', sd_hash: str): + def __init__(self, loop: asyncio.BaseEventLoop, blob_manager: 'BlobFileManager', sd_hash: str, + output_file_name: typing.Optional[str]): + self.output_file_name = output_file_name self.loop = loop self.blob_manager = blob_manager self.sd_hash = sd_hash @@ -77,8 +79,9 @@ class StreamAssembler: self.descriptor = await StreamDescriptor.from_stream_descriptor_blob(self.loop, self.blob_manager.blob_dir, self.sd_blob) await self.after_got_descriptor() - self.output_path = await get_next_available_file_name(self.loop, output_dir, - output_file_name or self.descriptor.suggested_file_name) + self.output_file_name = output_file_name or self.descriptor.suggested_file_name + self.output_file_name = await get_next_available_file_name(self.loop, output_dir, self.output_file_name) + self.output_path = os.path.join(output_dir, self.output_file_name) if not self.got_descriptor.is_set(): self.got_descriptor.set() await self.blob_manager.storage.store_stream( diff --git a/lbrynet/stream/downloader.py b/lbrynet/stream/downloader.py index c0408f0ce..45c82d838 100644 --- a/lbrynet/stream/downloader.py +++ b/lbrynet/stream/downloader.py @@ -23,7 +23,7 @@ def drain_into(a: list, b: list): class StreamDownloader(StreamAssembler): def __init__(self, loop: asyncio.BaseEventLoop, config: 'Config', blob_manager: 'BlobFileManager', sd_hash: str, output_dir: typing.Optional[str] = None, output_file_name: typing.Optional[str] = None): - super().__init__(loop, blob_manager, sd_hash) + super().__init__(loop, blob_manager, sd_hash, output_file_name) self.config = config self.output_dir = output_dir or self.config.download_dir self.output_file_name = output_file_name