<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 06/12/2014 04:07 AM, Hongliang Wang
wrote:<br>
</div>
<blockquote
cite="mid:1402556825-7102-2-git-send-email-hlwang@linux.vnet.ibm.com"
type="cite">
<pre wrap="">When user tries to create a resource with an existing name, we should return
HTTP 409 status code to tell the user and let him/her choose another one.
Signed-off-by: Hongliang Wang <a class="moz-txt-link-rfc2396E" href="mailto:hlwang@linux.vnet.ibm.com"><hlwang@linux.vnet.ibm.com></a>
---
src/kimchi/control/base.py | 3 +++
src/kimchi/exception.py | 4 ++++
2 files changed, 7 insertions(+)
diff --git a/src/kimchi/control/base.py b/src/kimchi/control/base.py
index f8a5210..aaa479d 100644
--- a/src/kimchi/control/base.py
+++ b/src/kimchi/control/base.py
@@ -28,6 +28,7 @@ from kimchi.control.utils import validate_params
from kimchi.exception import InvalidOperation, InvalidParameter
from kimchi.exception import KimchiException
from kimchi.exception import MissingParameter, NotFoundError, OperationFailed
+from kimchi.exception import ResourceAlreadyExists
class Resource(object):
@@ -84,6 +85,8 @@ class Resource(object):
raise cherrypy.HTTPError(400, e.message)
except InvalidOperation, e:
raise cherrypy.HTTPError(400, e.message)
+ except ResourceAlreadyExists, e:
+ raise cherrypy.HTTPError(409, e.message)
except OperationFailed, e:
raise cherrypy.HTTPError(500, e.message)
except NotFoundError, e:
diff --git a/src/kimchi/exception.py b/src/kimchi/exception.py
index fcf60cc..38daeab 100644
--- a/src/kimchi/exception.py
+++ b/src/kimchi/exception.py
@@ -91,3 +91,7 @@ class IsoFormatError(KimchiException):
class TimeoutExpired(KimchiException):
pass
+
+
+class ResourceAlreadyExists(KimchiException):
+ pass
</pre>
</blockquote>
<br>
<font face="DejaVu Sans Mono">You don't need to create a new
exception type</font><br>
In those situation, we use InvalidParameter()<br>
</body>
</html>