metadata fixes, redux start. Lifecycle fixes for regions, etc

This commit is contained in:
michalcourson
2026-02-17 18:10:38 -05:00
parent f9fdfb629b
commit d6f4d4166b
22 changed files with 1481 additions and 248 deletions

View File

@ -4,6 +4,12 @@ from metadata_manager import MetaDataManager
metadata_bp = Blueprint('metadata', __name__)
@metadata_bp.route('/meta', methods=['GET'])
def get_allmetadata():
meta_manager = MetaDataManager()
collections = meta_manager.collections
return jsonify({'status': 'success', 'collections': collections})
@metadata_bp.route('/meta/collections', methods=['GET'])
def get_collections():
meta_manager = MetaDataManager()
@ -16,7 +22,8 @@ def add_collection():
collection_name = request.json.get('name')
try:
meta_manager.create_collection(collection_name)
return jsonify({'status': 'success', 'collection': collection_name})
collections = meta_manager.collections
return jsonify({'status': 'success', 'collections': collections})
except ValueError as e:
return jsonify({'status': 'error', 'message': str(e)}), 400
@ -30,14 +37,15 @@ def get_clips_in_collection(name):
except ValueError as e:
return jsonify({'status': 'error', 'message': str(e)}), 400
@metadata_bp.route('/meta/collection/clips/reorder', methods=['POST']):
@metadata_bp.route('/meta/collection/clips/reorder', methods=['POST'])
def reorder_clips_in_collection():
meta_manager = MetaDataManager()
collection_name = request.json.get('name')
new_order = request.json.get('clips')
try:
meta_manager.reorder_clips_in_collection(collection_name, new_order)
return jsonify({'status': 'success', 'clips': new_order})
collections = meta_manager.collections
return jsonify({'status': 'success', 'collections': collections})
except ValueError as e:
return jsonify({'status': 'error', 'message': str(e)}), 400
@ -48,8 +56,8 @@ def add_clip_to_collection():
clip_metadata = request.json.get('clip')
try:
meta_manager.add_clip_to_collection(collection_name, clip_metadata)
clips = meta_manager.get_clips_in_collection(collection_name)
return jsonify({'status': 'success', 'clips': clips})
collections = meta_manager.collections
return jsonify({'status': 'success', 'collections': collections})
except ValueError as e:
return jsonify({'status': 'error', 'message': str(e)}), 400
@ -70,9 +78,10 @@ def edit_clip_in_collection():
meta_manager = MetaDataManager()
collection_name = request.json.get('name')
clip_metadata = request.json.get('clip')
print(f"Received request to edit clip in collection '{collection_name}': {clip_metadata}")
try:
meta_manager.edit_clip_in_collection(collection_name, clip_metadata)
clips = meta_manager.get_clips_in_collection(collection_name)
return jsonify({'status': 'success', 'clips': clips})
collections = meta_manager.collections
return jsonify({'status': 'success', 'collections': collections})
except ValueError as e:
return jsonify({'status': 'error', 'message': str(e)}), 400

View File

@ -1,6 +1,7 @@
from flask import Blueprint, request, jsonify
from audio_recorder import AudioRecorder
import os
recording_bp = Blueprint('recording', __name__)
@ -31,4 +32,13 @@ def recording_status():
recorder = AudioRecorder()
print('HTTP: Checking recording status')
status = 'recording' if recorder.is_recording() else 'stopped'
return jsonify({'status': status})
return jsonify({'status': status})
@recording_bp.route('/record/delete', methods=['POST'])
def recording_delete():
filename = request.json.get('filename')
try:
os.remove(filename)
return jsonify({'status': 'success'})
except Exception as e:
return jsonify({'status': 'error', 'message': str(e)}), 400