Commit 800238f6 authored by Yakubov, Sergey's avatar Yakubov, Sergey
Browse files

use placeholder for filename in command templates

parent b33cf9c2
Loading
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
import os
import shlex
import shutil
import subprocess
from pathlib import Path
@@ -69,9 +70,8 @@ class FilesysBroker(RemoteDataBroker):
    def __get_command(self, cmd: str, data: DownloadData) -> List[str]:
        token = data.token
        cmd = cmd.replace("$token", token)
        if cmd:
            return cmd.split(" ") + [data.filename]
        return ["cat", data.filename]
        cmd = cmd.replace("$filename", data.filename)
        return shlex.split(cmd)

    def __get_file_size(self, data: DownloadData) -> str:
        command = self.__get_command(settings.rdb_fsize_cmd, data)
+2 −2
Original line number Diff line number Diff line
@@ -5,8 +5,8 @@ class Settings(BaseSettings):
    """settings for the app"""

    rdb_storage_path: str = "/datastore"
    rdb_cat_cmd: str = "cat"
    rdb_fsize_cmd: str = "stat --format=%s"
    rdb_cat_cmd: str = "cat $filename"
    rdb_fsize_cmd: str = "stat --format=%s $filename"
    rdb_send_filesize: bool = False
    rdb_send_chunk_size: int = 1024 * 1024 * 1024
    rdb_listen_port: int = 8000
+0 −1
Original line number Diff line number Diff line
@@ -106,7 +106,6 @@ class TestFilesysBroker:

    @pytest.mark.asyncio
    async def test_filesys_download(self, _tear_up_down: Any) -> None:
        settings.rdb_cat_cmd = ""
        res = self.broker.download(self.download_data)
        response_body = b""
        async for chunk in res.body_iterator: