/etc/plc.d/db dump-and-clean
[plcapi.git] / PLC / Methods / DeleteNodeFromPCU.py
index b51b3db..2688cd6 100644 (file)
@@ -3,6 +3,7 @@ from PLC.Method import Method
 from PLC.Parameter import Parameter, Mixed
 from PLC.Nodes import Node, Nodes
 from PLC.PCUs import PCU, PCUs
+from PLC.Sites import Site, Sites
 from PLC.Auth import Auth
 
 class DeleteNodeFromPCU(Method):
@@ -18,26 +19,25 @@ class DeleteNodeFromPCU(Method):
 
     accepts = [
         Auth(),
-       Mixed(Node.fields['node_id'],
+        Mixed(Node.fields['node_id'],
               Node.fields['hostname']),
         PCU.fields['pcu_id']
         ]
 
     returns = Parameter(int, '1 if successful')
 
-
     def call(self, auth, node_id_or_hostname, pcu_id):
-        # Get node
+         # Get node
         nodes = Nodes(self.api, [node_id_or_hostname])
         if not nodes:
-            raise PLCInvalidArgument, "No such node"
+            raise PLCInvalidArgument("No such node")
 
         node = nodes[0]
 
         # Get PCU
         pcus = PCUs(self.api, [pcu_id])
         if not pcus:
-            raise PLCInvalidArgument, "No such PCU"
+            raise PLCInvalidArgument("No such PCU")
 
         pcu = pcus[0]
 
@@ -49,12 +49,17 @@ class DeleteNodeFromPCU(Method):
                     ok = True
                     break
             if not ok:
-                raise PLCPermissionDenied, "Not allowed to update that PCU"
-       
-       # Removed node from PCU
+                raise PLCPermissionDenied("Not allowed to update that PCU")
+
+        # Removed node from PCU
+
         if node['node_id'] in pcu['node_ids']:
             pcu.remove_node(node)
 
-       self.object_ids = [pcu['pcu_id']]
-        
-       return 1
+        # Logging variables
+        self.event_objects = {'PCU': [pcu['pcu_id']],
+                              'Node': [node['node_id']]}
+        self.message = 'Node %d removed from PCU %d' % \
+                (node['node_id'], pcu['pcu_id'])
+
+        return 1