mirror of
https://github.com/LBRYFoundation/lbry-sdk.git
synced 2025-09-02 18:25:14 +00:00
properly update file name on downloader/assembler
This commit is contained in:
parent
3fce8e4023
commit
fc0c949187
2 changed files with 8 additions and 5 deletions
|
@ -21,7 +21,7 @@ def _get_next_available_file_name(download_directory: str, file_name: str) -> st
|
||||||
i += 1
|
i += 1
|
||||||
file_name = "%s_%i%s" % (base_name, i, ext)
|
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:
|
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:
|
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.loop = loop
|
||||||
self.blob_manager = blob_manager
|
self.blob_manager = blob_manager
|
||||||
self.sd_hash = sd_hash
|
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.descriptor = await StreamDescriptor.from_stream_descriptor_blob(self.loop, self.blob_manager.blob_dir,
|
||||||
self.sd_blob)
|
self.sd_blob)
|
||||||
await self.after_got_descriptor()
|
await self.after_got_descriptor()
|
||||||
self.output_path = await get_next_available_file_name(self.loop, output_dir,
|
self.output_file_name = output_file_name or self.descriptor.suggested_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():
|
if not self.got_descriptor.is_set():
|
||||||
self.got_descriptor.set()
|
self.got_descriptor.set()
|
||||||
await self.blob_manager.storage.store_stream(
|
await self.blob_manager.storage.store_stream(
|
||||||
|
|
|
@ -23,7 +23,7 @@ def drain_into(a: list, b: list):
|
||||||
class StreamDownloader(StreamAssembler):
|
class StreamDownloader(StreamAssembler):
|
||||||
def __init__(self, loop: asyncio.BaseEventLoop, config: 'Config', blob_manager: 'BlobFileManager', sd_hash: str,
|
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):
|
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.config = config
|
||||||
self.output_dir = output_dir or self.config.download_dir
|
self.output_dir = output_dir or self.config.download_dir
|
||||||
self.output_file_name = output_file_name
|
self.output_file_name = output_file_name
|
||||||
|
|
Loading…
Add table
Reference in a new issue