[Kimchi-devel] [PATCH] bug fix: Properly display missing parameter

Daniel H Barboza danielhb at linux.vnet.ibm.com
Tue Feb 25 03:14:16 UTC 2014


Reviewed-by: Daniel Barboza <danielhb at linux.vnet.ibm.com>

On 02/24/2014 11:25 AM, Aline Manera wrote:
> From: Aline Manera <alinefm at br.ibm.com>
>
> The exception instance was being used as the missing parameter what is
> causing errors like below:
>
> TypeError: coercing to Unicode: need string or buffer, exceptions.KeyError found
>
> To fix use the string representation for the exception instance.
>
> Signed-off-by: Aline Manera <alinefm at br.ibm.com>
> ---
>   src/kimchi/mockmodel.py            |    4 ++--
>   src/kimchi/model/storagepools.py   |    2 +-
>   src/kimchi/model/storagevolumes.py |    2 +-
>   src/kimchi/root.py                 |    2 +-
>   4 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/src/kimchi/mockmodel.py b/src/kimchi/mockmodel.py
> index b50bf31..b23a024 100644
> --- a/src/kimchi/mockmodel.py
> +++ b/src/kimchi/mockmodel.py
> @@ -367,7 +367,7 @@ class MockModel(object):
>                   pool.info['autostart'] = False
>           except KeyError, item:
>               raise MissingParameter("KCHPOOL0004E",
> -                                   {'item': item, 'name': name})
> +                                   {'item': str(item), 'name': name})
>
>           if name in self._mock_storagepools or name in (ISO_POOL_NAME,):
>               raise InvalidOperation("KCHPOOL0001E", {'name': name})
> @@ -428,7 +428,7 @@ class MockModel(object):
>                   pool.info['path'], name)
>           except KeyError, item:
>               raise MissingParameter("KCHVOL0004E",
> -                                   {'item': item, 'volume': name})
> +                                   {'item': str(item), 'volume': name})
>
>           if name in pool._volumes:
>               raise InvalidOperation("KCHVOL0001E", {'name': name})
> diff --git a/src/kimchi/model/storagepools.py b/src/kimchi/model/storagepools.py
> index cf66a86..011feb0 100644
> --- a/src/kimchi/model/storagepools.py
> +++ b/src/kimchi/model/storagepools.py
> @@ -90,7 +90,7 @@ class StoragePoolsModel(object):
>               xml = poolDef.xml.encode("utf-8")
>           except KeyError, item:
>               raise MissingParameter("KCHPOOL0004E",
> -                                   {'item': item, 'name': name})
> +                                   {'item': str(item), 'name': name})
>
>           if name in self.get_list():
>               raise InvalidOperation("KCHPOOL0001E", {'name': name})
> diff --git a/src/kimchi/model/storagevolumes.py b/src/kimchi/model/storagevolumes.py
> index 20c65b9..6bd6ded 100644
> --- a/src/kimchi/model/storagevolumes.py
> +++ b/src/kimchi/model/storagevolumes.py
> @@ -62,7 +62,7 @@ class StorageVolumesModel(object):
>               pool = StoragePoolModel.get_storagepool(pool, self.conn)
>               xml = vol_xml % params
>           except KeyError, item:
> -            raise MissingParameter("KCHVOL0004E", {'item': item,
> +            raise MissingParameter("KCHVOL0004E", {'item': str(item),
>                                                      'volume': name})
>
>           try:
> diff --git a/src/kimchi/root.py b/src/kimchi/root.py
> index 4a1a9cd..08056d2 100644
> --- a/src/kimchi/root.py
> +++ b/src/kimchi/root.py
> @@ -106,7 +106,7 @@ class KimchiRoot(Root):
>               userid = params['userid']
>               password = params['password']
>           except KeyError, item:
> -            e = MissingParameter('KCHAUTH0003E', {'item': item})
> +            e = MissingParameter('KCHAUTH0003E', {'item': str(item)})
>               raise cherrypy.HTTPError(400, e.message)
>
>           try:




More information about the Kimchi-devel mailing list