from typing import Union from fastapi import FastAPI import os import subprocess, signal import threading app = FastAPI() @app.get("/") def read_root(): return {"status": "Success"} @app.get("/download/") def read_item(url: Union[str, None] = None, parts: Union[int, None] = None): if parts is None: parts = "15" os.chdir('/path/') separator = '#' url = url.split(separator, 1)[0] print("URL: ", url) #command = ["nohup ulozto-downloader", "--parts", parts, url] #os.system("nohup ulozto-downloader --parts " + parts + " " + url) #command = subprocess.Popen(["ulozto-downloader"] + "--parts " + parts + " " + url + " >&/dev/null &", stdin=None, stdout=None, stderr=None, close_fds=True) cmd = 'nohup python /usr/local/bin/ulozto-downloader "--parts" "%s" "%s" &' % (parts, url) os.system(cmd) return {"status": "Success", "link": url, "parts": parts}