Вот функция, которую я сделал:
@app.get("/shows/")
def get_items(q: List[str] = Query(None)):
'''
Pass path to function.
Returns folders and files.
'''
results = {}
query_items = {"q": q}
if query_items["q"]:
entry = PATH + "/".join(query_items["q"])
else:
entry = PATH
if os.path.isfile(entry):
return download(entry)
dirs = os.listdir(entry + "/")
results["folders"] = [
val for val in dirs if os.path.isdir(entry + "/" + val)]
results["files"] = [val for val in dirs if
os.path.isfile(entry + "/" + val)]
results["path_vars"] = query_items["q"]
return results
Идея состоит в том, чтобы передать массив строк, которые, по сути, образуют путь в функции, к файлу, и я могу получить некоторый массив из приложения для обслуживать файлы и отправлять этой функции массив строк, когда они пересекают папки. Но .. Я не могу понять, как отправить список параметров из чего-то вроде python запросов.
Вот пример функции, которую я написал.
def try_url():
url = "http://192.168.0.16:8000/shows/"
payload = {
"q": ["downloads",
"showname"]
}
headers = {}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text.encode('utf8'))
Api даже не принимает значение aq. Что мне не хватает? Это правильный путь для прохождения dirs? В формате url запрос выглядит следующим образом:
http://192.168.0.16:8000/shows/?q=downloads&q=foldername
Мне не подходит.