38 lines
921 B
Python
38 lines
921 B
Python
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}
|