review (and fix) the way we retrieve the subject object
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Wed, 24 Nov 2010 19:01:23 +0000 (20:01 +0100)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Wed, 24 Nov 2010 19:01:23 +0000 (20:01 +0100)
PLC/Methods/DeleteInterfaceTag.py
PLC/Methods/DeleteNodeTag.py
PLC/Methods/DeletePersonTag.py
PLC/Methods/DeleteSiteTag.py
PLC/Methods/DeleteSliceTag.py
PLC/Methods/UpdateInterfaceTag.py
PLC/Methods/UpdateNodeTag.py
PLC/Methods/UpdatePersonTag.py
PLC/Methods/UpdateSiteTag.py
PLC/Methods/UpdateSliceTag.py

index 1bb4aad..b1672a7 100644 (file)
@@ -40,7 +40,11 @@ class DeleteInterfaceTag(Method):
 
         tag_type_id = interface_tag['tag_type_id']
         tag_type = TagTypes (self.api,[tag_type_id])[0]
-        interface = Interfaces (self.api, interface_tag['interface_id'])
+
+        interfaces = Interfaces (self.api, interface_tag['interface_id'])
+        if not interfaces:
+            raise PLCInvalidArgument, "No such interface %d"%interface_tag['interface_id']
+        interface=interfaces[0]
 
         # check authorizations
         if 'admin' in self.caller['roles']:
index 48b467f..019670c 100644 (file)
@@ -42,7 +42,11 @@ class DeleteNodeTag(Method):
 
         tag_type_id = node_tag['tag_type_id']
         tag_type = TagTypes (self.api,[tag_type_id])[0]
-        node = Nodes (self.api, node_tag['node_id'])
+
+        nodes = Nodes (self.api, node_tag['node_id'])
+        if not nodes:
+            raise PLCInvalidArgument, "No such node %d"%node_tag['node_id']
+        node=nodes[0]
 
         # check authorizations
         if 'admin' in self.caller['roles']:
index ee4f6b3..5597785 100644 (file)
@@ -35,7 +35,10 @@ class DeletePersonTag(Method):
             raise PLCInvalidArgument, "No such person tag %r"%person_tag_id
         person_tag = person_tags[0]
 
-        person = Persons (self.api, person_tag['person_id'])[0]
+        persons = Persons (self.api, person_tag['person_id'])
+        if not persons:
+            raise PLCInvalidArgument, "No such person %d"%person_tag['person_id']
+        person=persons[0]
 
         # check authorizations
         if 'admin' in self.caller['roles']:
index 6c31c1d..601b1c0 100644 (file)
@@ -41,7 +41,11 @@ class DeleteSiteTag(Method):
 
         tag_type_id = site_tag['tag_type_id']
         tag_type = TagTypes (self.api,[tag_type_id])[0]
-        site = Sites (self.api, site_tag['site_id'])
+
+        sites = Sites (self.api, site_tag['site_id'])
+        if not sites:
+            raise PLCInvalidArgument, "No such site %d"%site_tag['site_id']
+        site=sites[0]
         
         # check authorizations
         if 'admin' in self.caller['roles']:
index d433e02..6cb58c3 100644 (file)
@@ -42,7 +42,7 @@ class DeleteSliceTag(Method):
 
         slices = Slices(self.api, [slice_tag['slice_id']])
         if not slices:
-            raise PLCInvalidArgument, "No such slice"
+            raise PLCInvalidArgument, "No such slice %d"%slice_tag['slice_id']
         slice = slices[0]
 
         assert slice_tag['slice_tag_id'] in slice['slice_tag_ids']
index 1d52ea3..5370f7d 100644 (file)
@@ -41,7 +41,11 @@ class UpdateInterfaceTag(Method):
 
         tag_type_id = interface_tag['tag_type_id']
         tag_type = TagTypes (self.api,[tag_type_id])[0]
-        interface = Interfaces (self.api, interface_tag['interface_id'])
+
+        interfaces = Interfaces (self.api, interface_tag['interface_id'])
+        if not interfaces:
+            raise PLCInvalidArgument, "No such interface %d"%interface_tag['interface_id']
+        interface=interfaces[0]
 
         # check authorizations
         if 'admin' in self.caller['roles']:
index d8b8af7..c3b4e28 100644 (file)
@@ -43,7 +43,11 @@ class UpdateNodeTag(Method):
 
         tag_type_id = node_tag['tag_type_id']
         tag_type = TagTypes (self.api,[tag_type_id])[0]
-        node = Nodes (self.api, node_tag['node_id'])
+
+        nodes = Nodes (self.api, node_tag['node_id'])
+        if not nodes:
+            raise PLCInvalidArgument, "No such node %d"%node_tag['node_id']
+        node=nodes[0]
 
         # check authorizations
         if 'admin' in self.caller['roles']:
index 2a88179..176b22e 100644 (file)
@@ -36,7 +36,10 @@ class UpdatePersonTag(Method):
             raise PLCInvalidArgument, "No such person setting %r"%person_tag_id
         person_tag = person_tags[0]
 
-        person = Persons (self.api, person_tag['person_id'])[0]
+        persons = Persons (self.api, person_tag['person_id'])
+        if not persons:
+            raise PLCInvalidArgument, "No such person %d"%person_tag['person_id']
+        person=persons[0]
 
         # check authorizations
         if 'admin' in self.caller['roles']:
index 733cb12..fd8f798 100644 (file)
@@ -42,7 +42,11 @@ class UpdateSiteTag(Method):
 
         tag_type_id = site_tag['tag_type_id']
         tag_type = TagTypes (self.api,[tag_type_id])[0]
-        site = Sites (self.api, site_tag['site_id'])
+
+        sites = Sites (self.api, site_tag['site_id'])
+        if not sites:
+            raise PLCInvalidArgument, "No such site %d"%site_tag['site_id']
+        site=sites[0]
         
         # check authorizations
         if 'admin' in self.caller['roles']:
index 5e1123a..74d0271 100644 (file)
@@ -44,7 +44,7 @@ class UpdateSliceTag(Method):
 
         slices = Slices(self.api, [slice_tag['slice_id']])
         if not slices:
-            raise PLCInvalidArgument, "No such slice"
+            raise PLCInvalidArgument, "No such slice %d"%slice_tag['slice_id']
         slice = slices[0]
 
         assert slice_tag['slice_tag_id'] in slice['slice_tag_ids']