Fixed formparams bug when defaults are missing.
[wrw.git] / wrw / util.py
index 759c295..aea3037 100644 (file)
@@ -17,7 +17,7 @@ def formparams(callable):
             for arg in list(args):
                 if arg not in spec.args:
                     del args[arg]
-        for i in xrange(len(spec.args) - len(spec.defaults)):
+        for i in xrange(len(spec.args) - (len(spec.defaults) if spec.defaults else 0)):
             if spec.args[i] not in args:
                 raise resp.httperror(400, "Missing parameter", ("The query parameter `", resp.h.code(spec.args[i]), "' is required but not supplied."))
         return callable(**args)