init
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import os
|
||||
import subprocess
|
||||
from flask import Flask, send_file
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
|
||||
def find_file_by_part_name(directory, part_name):
|
||||
record_file = {
|
||||
"wav": None,
|
||||
"mp3": None,
|
||||
}
|
||||
for root, dirs, files in os.walk(directory):
|
||||
for file_name in files:
|
||||
if part_name in file_name:
|
||||
if file_name.lower().endswith(".mp3"):
|
||||
record_file["mp3"] = os.path.join(root, file_name)
|
||||
break
|
||||
if file_name.lower().endswith(".wav"):
|
||||
record_file["wav"] = os.path.join(root, file_name)
|
||||
if record_file["mp3"]:
|
||||
return record_file["mp3"]
|
||||
if record_file["wav"]:
|
||||
record_file["mp3"] = record_file["wav"][:-3] + "mp3"
|
||||
with open(os.devnull, "w") as devnull:
|
||||
subprocess.call(
|
||||
["ffmpeg", "-i", record_file["wav"], record_file["mp3"]],
|
||||
stdout=devnull,
|
||||
stderr=devnull,
|
||||
)
|
||||
return record_file["mp3"]
|
||||
return None
|
||||
|
||||
|
||||
@app.route("/<path:path>")
|
||||
def get_file(path):
|
||||
dir = "/var/spool/asterisk/monitor"
|
||||
file_path = find_file_by_part_name(dir, path)
|
||||
if file_path is not None:
|
||||
return send_file(file_path, mimetype="audio/mpeg")
|
||||
return "", 404
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(host="0.0.0.0", port=3050)
|
||||
Reference in New Issue
Block a user