nmhive.py: Add GET /tags
authorW. Trevor King <wking@tremily.us>
Sun, 21 Sep 2014 12:22:56 +0000 (05:22 -0700)
committerW. Trevor King <wking@tremily.us>
Sun, 21 Sep 2014 13:04:47 +0000 (06:04 -0700)
We don't want bookmarklet users adding random tags.  Instead, restrict
them to tags that are already in the database, which allows us to keep
a consistent tag-set and present a simpler UI.  The hard-coded
_AVAILABLE_TAGS will be replaced by a notmuch query once I finish with
the UI.

nmhive.py

index 08c61fcf79df536ed8c5adde21c8411ffed45117..363a1b8912ec840b7c48b380fdd2d363d210c683 100755 (executable)
--- a/nmhive.py
+++ b/nmhive.py
@@ -13,9 +13,22 @@ app = flask.Flask(__name__)
 flask_cors.CORS(app)
 
 
+_AVAILABLE_TAGS = {
+    'bug',
+    'needs-review',
+    'obsolete',
+    'patch',
+    }
 _TAGS = {}
 
 
+@app.route('/tags', methods=['GET'])
+def tags():
+    return flask.Response(
+        response=json.dumps(sorted(_AVAILABLE_TAGS)),
+        mimetype='application/json')
+
+
 @app.route('/mid/<message_id>', methods=['GET', 'POST'])
 def message_id_tags(message_id):
     if flask.request.method == 'POST':