Add option for passing arguments to single-file command (#691)

* Promoting singlefile timeout to env variable

* Promoting singlefile timeout to env variable

* add tests

* Add LD_SINGLEFILE_OPTIONS support

* add tests

---------

Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
This commit is contained in:
pettijohn
2024-04-09 11:22:14 -07:00
committed by GitHub
parent 3ffec72d3e
commit 2b342c0d56
3 changed files with 54 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
import gzip
import logging
import os
import shlex
import shutil
import signal
import subprocess
@@ -17,10 +18,11 @@ logger = logging.getLogger(__name__)
def create_snapshot(url: str, filepath: str):
singlefile_path = settings.LD_SINGLEFILE_PATH
# singlefile_options = settings.LD_SINGLEFILE_OPTIONS
# parse string to list of arguments
singlefile_options = shlex.split(settings.LD_SINGLEFILE_OPTIONS)
temp_filepath = filepath + ".tmp"
args = [singlefile_path, url, temp_filepath]
# concat lists
args = [singlefile_path] + singlefile_options + [url, temp_filepath]
try:
# Use start_new_session=True to create a new process group
process = subprocess.Popen(args, start_new_session=True)