我有一个基本的 Flask 应用程序,用于从 Pod 获取日志。我想在查询未完成时使用 send_from_directory 。我不想创建 zip 文件并列出它,而是想列出通过查询生成的日志文件。
from flask import Flask, send_from_directory
from flask import request
import http.server
import socketserver
import subprocess
import os
import sys
from urllib.parse import urlparse
from urllib.parse import parse_qs
app = Flask(__name__)
# write route for a namespace completely
@app.route('/logs')
def hello_world():
umgebung = request.args.get('umgebung', None)
product = request.args.get('product', None)
product_type = request.args.get('product_type', None)
output = (subprocess.check_output(['cmd', '/c', f'oc logs --tail=-1 -n awl-{umgebung} -l product={product},type={product_type}'])).decode();
if not output:
output_as = (subprocess.check_output(['cmd', '/c', f'oc logs --tail=-1 -n awl-{umgebung} -l product={product},type=as'])).decode();
output_db = (subprocess.check_output(['cmd', '/c', f'oc logs --tail=-1 -n awl-{umgebung} -l product={product},type=db'])).decode();
output_as_file = open ("logs/output_as_log.log","w")
output_db_file = open ("logs/output_db_log.log","w")
output_as_file.write(output_as)
output_db_file.write(output_db)
path= 'logs'
return send_from_directory(path, output_as_file,as_attachment=True) #HERE I DO NOT UNDERSTNAD WHAT SHOUDL BE GIVEN
output = "<br />".join(output.split("\n"))
return output
我正在项目文件夹内的日志文件夹下创建日志文件。如何显示文件夹中的所有文件log
?这样就可以点击下载了?
对接近投票的澄清!
应用程序应从特定文件夹返回文件。但是send_fron_directory
没有按预期工作。