From 7d6d8f1fd4affc6808fede26a91cf56314d3e1ba Mon Sep 17 00:00:00 2001 From: Thomas Scholtes Date: Tue, 21 Jan 2014 16:08:22 +0100 Subject: [PATCH] Embed item data into web request --- beetsplug/web/__init__.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/beetsplug/web/__init__.py b/beetsplug/web/__init__.py index dcf383368..ad53c24b5 100644 --- a/beetsplug/web/__init__.py +++ b/beetsplug/web/__init__.py @@ -68,10 +68,14 @@ def single_item(item_id): @app.route('/item/') def all_items(): - with g.lib.transaction() as tx: - rows = tx.query("SELECT id FROM items") - all_ids = [row[0] for row in rows] - return flask.jsonify(item_ids=all_ids) + if flask.request.args.has_key('embedded'): + items = [_rep(item) for item in g.lib.items()] + return flask.jsonify(items=items) + else: + with g.lib.transaction() as tx: + rows = tx.query("SELECT id FROM items") + all_ids = [row[0] for row in rows] + return flask.jsonify(item_ids=all_ids) @app.route('/item//file') def item_file(item_id): @@ -97,10 +101,15 @@ def single_album(album_id): @app.route('/album/') def all_albums(): - with g.lib.transaction() as tx: - rows = tx.query("SELECT id FROM albums") - all_ids = [row[0] for row in rows] - return flask.jsonify(album_ids=all_ids) + if flask.request.args.has_key('embedded'): + albums = g.lib.albums() + return flask.jsonify(results=[_rep(album) for album in albums]) + else: + with g.lib.transaction() as tx: + rows = tx.query("SELECT id FROM albums") + all_ids = [row[0] for row in rows] + return flask.jsonify(album_ids=all_ids) + @app.route('/album/query/') def album_query(query):