mirror of
https://github.com/beetbox/beets.git
synced 2026-01-01 05:23:05 +01:00
Add PATCH method to item queries
This commit is contained in:
parent
afcde697e0
commit
a18b317240
1 changed files with 14 additions and 3 deletions
|
|
@ -149,7 +149,7 @@ def resource(name, patchable=False):
|
|||
return make_responder
|
||||
|
||||
|
||||
def resource_query(name):
|
||||
def resource_query(name, patchable=False):
|
||||
"""Decorates a function to handle RESTful HTTP queries for resources.
|
||||
"""
|
||||
def make_responder(query_func):
|
||||
|
|
@ -162,6 +162,16 @@ def resource_query(name):
|
|||
|
||||
return flask.make_response(jsonify({'deleted': True}), 200)
|
||||
|
||||
elif get_method() == "PATCH" and patchable:
|
||||
for entity in entities:
|
||||
entity.update(flask.request.get_json())
|
||||
entity.try_sync(True, False) # write, don't move
|
||||
|
||||
return app.response_class(
|
||||
json_generator(entities, root=name),
|
||||
mimetype='application/json'
|
||||
)
|
||||
|
||||
elif get_method() == "GET":
|
||||
return app.response_class(
|
||||
json_generator(
|
||||
|
|
@ -170,6 +180,7 @@ def resource_query(name):
|
|||
),
|
||||
mimetype='application/json'
|
||||
)
|
||||
|
||||
else:
|
||||
return flask.abort(405)
|
||||
|
||||
|
|
@ -300,8 +311,8 @@ def item_file(item_id):
|
|||
return response
|
||||
|
||||
|
||||
@app.route('/item/query/<query:queries>', methods=["GET", "DELETE"])
|
||||
@resource_query('items')
|
||||
@app.route('/item/query/<query:queries>', methods=["GET", "DELETE", "PATCH"])
|
||||
@resource_query('items', patchable=True)
|
||||
def item_query(queries):
|
||||
return g.lib.items(queries)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue