Quellcode durchsuchen

U 后端通用 更新解析参数时对bool类型的支持

张玉坡 vor 7 Jahren
Ursprung
Commit
69834136d7
2 geänderte Dateien mit 5 neuen und 2 gelöschten Zeilen
  1. 1 1
      spug_api/apps/account/user.py
  2. 4 1
      spug_api/libs/tools.py

+ 1 - 1
spug_api/apps/account/user.py

@@ -83,7 +83,7 @@ def put(u_id):
 def setting_password():
     form, error = JsonParser(
         Argument('password', help='请输入原密码'),
-        Argument('newpassword', help='请输入密码')
+        Argument('newpassword', help='请输入密码')
     ).parse()
     if error is None:
         if g.user.verify_password(form.password):

+ 4 - 1
spug_api/libs/tools.py

@@ -104,7 +104,10 @@ class Argument(object):
                 value = self.type[0](value)
             elif self.type[0] == dict:
                 value = json.loads(value)
-        except ValueError:
+            elif self.type[0] == bool:
+                assert value.lower() in ['true', 'false']
+                value = value.lower() == 'true'
+        except (ValueError, AssertionError):
             raise ParseError(self.help or 'Type Error: %s type must be %s' % (self.name, self.type[0]))
 
         if self.filter: