On 05/16/2014 09:59 AM, Zhou Zheng Sheng wrote:
on 2014/05/15 19:23, 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)
>
> 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') % args
Could you explain this change? I don't see obvious significant
differences between the old and new code.
Because when gettext returns unicode, the
decode will raise error:
TypeError: decoding Unicode is not supportd
That is what things are like when json schema passing error occurs.
REF:
http://stackoverflow.com/questions/7634715/python-decoding-unicode-is-not...
>
> class NotFoundError(KimchiException):
>