api added
This commit is contained in:
29
app.py
29
app.py
@@ -1,5 +1,5 @@
|
||||
import os
|
||||
from flask import Flask, render_template, request, redirect, url_for, session, flash
|
||||
from flask import Flask, render_template, request, redirect, url_for, session, flash, jsonify
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from flask_login import LoginManager, UserMixin, login_user, logout_user, login_required, current_user
|
||||
from flask_bcrypt import Bcrypt
|
||||
@@ -532,6 +532,33 @@ def clean_unused_files():
|
||||
return redirect(url_for('admin'))
|
||||
|
||||
|
||||
@app.route('/api/playlists', methods=['GET'])
|
||||
def get_playlist():
|
||||
quickconnect_code = request.args.get('quickconnect_code')
|
||||
if not quickconnect_code:
|
||||
return jsonify({'error': 'Quick connect code is required'}), 400
|
||||
|
||||
players = Player.query.all()
|
||||
player = None
|
||||
for p in players:
|
||||
if p.verify_quickconnect_code(quickconnect_code):
|
||||
player = p
|
||||
break
|
||||
|
||||
if not player:
|
||||
return jsonify({'error': 'Invalid quick connect code'}), 404
|
||||
|
||||
if player.groups:
|
||||
# If the player is part of a group, get the group's content
|
||||
group = player.groups[0] # Assuming a player can only be in one group
|
||||
content = Content.query.filter_by(group_id=group.id).all()
|
||||
else:
|
||||
# If the player is not part of a group, get the player's content
|
||||
content = Content.query.filter_by(player_id=player.id).all()
|
||||
|
||||
playlist = [{'file_name': item.file_name, 'duration': item.duration} for item in content]
|
||||
return jsonify({'playlist': playlist})
|
||||
|
||||
@app.context_processor
|
||||
def inject_theme():
|
||||
if current_user.is_authenticated:
|
||||
|
||||
Reference in New Issue
Block a user