On 02/11/2014 03:28 PM, Paulo Vital wrote:
Define PackageUpdate resource features according to API.md
Activate auth support to new resource
Signed-off-by: Paulo Vital <pvital(a)linux.vnet.ibm.com>
Signed-off-by: Ramon Medeiros <ramonn(a)linux.vnet.ibm.com>
---
src/kimchi/control/host.py | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/src/kimchi/control/host.py b/src/kimchi/control/host.py
index 053c822..e9437c7 100644
--- a/src/kimchi/control/host.py
+++ b/src/kimchi/control/host.py
@@ -36,6 +36,7 @@ class Host(Resource):
self.shutdown = self.generate_action_handler('shutdown')
self.stats = HostStats(self.model)
self.partitions = Partitions(self.model)
+ self.packagesupdate = PackagesUpdate(self.model)
@property
def data(self):
@@ -61,3 +62,19 @@ class Partition(Resource):
@property
def data(self):
return self.info
+
+
+class PackagesUpdate(Collection):
+ def __init__(self, model):
+ super(PackagesUpdate, self).__init__(model)
+ self.resource = PackageUpdate
+ self.update = self.model.packagesupdate_update
+
The action function needs to catch the exception raised
(InvalidOperation, MissingParameter, etc) and raise
and cherrypy.HTTPError with the error code and message
As generate_action_handler() is only for Resource you need to expose
this function as follwing:
@cherrypy.expose
def update(self):
try:
self.mode.packagesupdate_update()
except OperationFailed, e:
raise cherrypy.HTTPError(500, e.message)
+
+class PackageUpdate(Resource):
+ def __init__(self, model, id=None):
+ super(PackageUpdate, self).__init__(model, id)
+
+ @property
+ def data(self):
+ return self.info