listen localhost for xml-rpc requests, until we have some sort of authentication.
[plcapi.git] / aspects / omfaspects.py
index 406d7db..9b95860 100644 (file)
@@ -25,10 +25,11 @@ class BaseOMF(object):
            
     def get_slice(self, api, id_or_name):
         slice_filter = {}
-        if isinstance(id_or_name, str):
+        try: # if integer
+            slice_filter['slice_id'] = int(str(id_or_name))
+        except ValueError:
+            # we have a string
             slice_filter['name'] = id_or_name
-        else:
-            slice_filter['slice_id']= id_or_name
         slice = Slices(api, slice_filter = slice_filter)[0]
 # don't bother to check for slice tags for the moment. we'll only
 # create XMPP pubsub groups for all slices
@@ -41,8 +42,14 @@ class BaseOMF(object):
 #         return None
         return slice
 
-    def get_node_hostname(self, api, node_id):
-        node_filter = {'node_id': node_id }
+    def get_node_hostname(self, api, node_id_or_hostname):
+        node_filter = {}
+        try:
+            node_filter['node_id'] = int(str(node_id_or_hostname))
+        except ValueError:
+            # we have a hostname
+            node_filter['hostname'] = node_id_or_hostname
+
         try:
             node = Nodes(api, node_filter = node_filter)[0]
             return node['hostname']
@@ -130,16 +137,16 @@ class OMFAspect_xmlrpc(BaseOMF):
         self.server = xmlrpclib.ServerProxy(slicemgr_url)
 
     def create_slice(self, slice):
-        self.server.slicemgr.createSlice(slice)
+        self.server.createSlice(slice)
 
     def add_resource(self, slice, resource):
-        self.server.slicemgr.addResource(slice, resource)
+        self.server.addResource(slice, resource)
 
     def delete_slice(self, slice):
-        self.server.slicemgr.deleteSlice(slice)
+        self.server.deleteSlice(slice)
         
     def delete_resource(self, slice, resource):
-        self.server.slicemgr.removeResource(slice, resource)
+        self.server.removeResource(slice, resource)
 
     def before(self, wobj, data, *args, **kwargs):
         BaseOMF.before(self, wobj, data, *args, **kwargs)