On 05/15/2014 07:23 PM, lvroyce(a)linux.vnet.ibm.com wrote:
From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
Not every validation error needs to translate for user,
we define user interested errors,
other developer interested error should report directly by schema validator,
and handled by developer directly.
fix exception handling for this situation.
Signed-off-by: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
Signed-off-by: Zhou Zheng Sheng <zhshzhou(a)linux.vnet.ibm.com>
---
src/kimchi/control/utils.py | 6 ++++--
src/kimchi/exception.py | 2 +-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/kimchi/control/utils.py b/src/kimchi/control/utils.py
index 5e63816..a67f627 100644
--- a/src/kimchi/control/utils.py
+++ b/src/kimchi/control/utils.py
@@ -98,8 +98,10 @@ def validate_params(params, instance, action):
try:
validator.validate(request)
except ValidationError, e:
- raise InvalidParameter(e.schema['error'], {'value':
str(e.instance)})
-
+ if e.schema.get('error'):
+ raise InvalidParameter(e.schema['error'], {'value':
str(e.instance)})
+ else:
+ raise InvalidParameter(e.message)
you has pass the e.message as code.
you can define a new code such as ""or set code as empty.
"KCHAPI0008E": _("API parameter error: %(err)s"),
or if you do not want to translation:
"KCHAPI0008E": _("%(err)s"),
or
"KCHAPI0008E": _("%(err)s"),
class UrlSubNode(object):
diff --git a/src/kimchi/exception.py b/src/kimchi/exception.py
index fcf60cc..5a292e0 100644
--- a/src/kimchi/exception.py
+++ b/src/kimchi/exception.py
@@ -62,7 +62,7 @@ class KimchiException(Exception):
# itself to a unicode string.
args[key] = unicode(value)
- return unicode(translation.gettext(text), 'utf-8') % args
+ return translation.gettext(text).encode('utf-8') % arg
why do you
need to change this code?
It seems several patches to improve this code.
class NotFoundError(KimchiException):
--
Thanks and best regards!
Sheldon Feng(冯少合)<shaohef(a)linux.vnet.ibm.com>
IBM Linux Technology Center