diff --git a/main.py b/main.py index c4d9380..8d71a10 100644 --- a/main.py +++ b/main.py @@ -1,3 +1,6 @@ +import requests +import os +from dotenv import load_dotenv from flask import Flask, request, render_template from flask_bootstrap import Bootstrap5 @@ -8,7 +11,7 @@ app = Flask(__name__) bootstrap = Bootstrap5(app) @app.route('/', methods=['GET', 'POST']) -def form_example(): +def main_app(): # handle the POST request if request.method == 'POST': search = request.form.get('search') @@ -18,6 +21,20 @@ def form_example(): # otherwise handle the GET request return render_template("index.html") +@app.route('/add/', methods=['GET']) +def add_to_playlist(trackid): + if not os.getenv("n8n_webhook"): + return 'n8n_webhook not set' + if not trackid: + return 'No trackid provided' + try: + data = requests.get(os.getenv("n8n_webhook") + "/" + trackid) + if data.json()['message'] == 'Workflow was started': + return 'Track added to playlist' + else: + return 'Invalid response from server: {}'.format(data.text) + except requests.exceptions.RequestException as e: + return 'Request failed: {}'.format(e) if __name__ == '__main__': diff --git a/templates/add.html b/templates/add.html new file mode 100644 index 0000000..e69de29 diff --git a/templates/found.html b/templates/found.html index 21e0022..438c683 100644 --- a/templates/found.html +++ b/templates/found.html @@ -35,7 +35,10 @@
{{ track[0] }}

{{ track[1] }} - {{ track[2] }}

- Add to the playlist +
+ + +