Browse Source

parse json values

David 9 years atrás
parent
commit
608e28be93
2 changed files with 13 additions and 4 deletions
  1. 2 1
      db.py
  2. 11 3
      web.py

+ 2 - 1
db.py

@@ -185,7 +185,8 @@ class db():
         if 'keyword' not in kw or 'weight' not in kw:
             return False
 
-        kw["pattern"] = self.to_regex(kw["keyword"].split("|"))
+        if not isinstance(kw['weight'], int):
+            return False
         kwdb = self.c_kw
         try:
             kwdb.update({'keyword': kw['keyword']}, {'$set': kw})

+ 11 - 3
web.py

@@ -1,6 +1,7 @@
 #!/usr/bin/env python3
-
 from flask import Flask, abort, jsonify, request
+from json import loads
+
 from db import db
 from linklist import LinkList
 
@@ -72,7 +73,10 @@ def update_keyword():
     json = request.get_json()
     if 'kw' not in json:
         abort(400)
-    kw = json['kw']
+    try:
+        kw = loads(json['kw'])
+    except Exception:
+        abort(400)
     if not d.update_keyword(kw):
         abort(400)
     return jsonify({'keywords': d.get_keywords_list()})
@@ -84,7 +88,11 @@ def delete_keyword():
     json = request.get_json()
     if 'kw' not in json:
         abort(400)
-    kw = json['kw']
+    try:
+        kw = loads(json['kw'])
+    except Exception:
+        abort(400)
+
     if not d.delete_keyword(kw):
         abort(400)
     return jsonify({'keywords': d.get_keywords_list()})