X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FAddConfFileToNode.py;h=eeb9af58131188165913b48d32bc0083f255e446;hb=156d37f6993517db7fddf9035cf57f1710f75cf8;hp=09de233310623f11cfc4de02b414396e1d8f7d06;hpb=1f8c38dd1357c93e4be8d94456b7274a591d2db4;p=plcapi.git diff --git a/PLC/Methods/AddConfFileToNode.py b/PLC/Methods/AddConfFileToNode.py index 09de233..eeb9af5 100644 --- a/PLC/Methods/AddConfFileToNode.py +++ b/PLC/Methods/AddConfFileToNode.py @@ -24,28 +24,28 @@ class AddConfFileToNode(Method): returns = Parameter(int, '1 if successful') - event_type = 'AddTo' - object_type = 'ConfFile' - object_ids = [] - def call(self, auth, conf_file_id, node_id_or_hostname): - # Get configuration file + # Get configuration file conf_files = ConfFiles(self.api, [conf_file_id]) if not conf_files: raise PLCInvalidArgument, "No such configuration file" - conf_file = conf_files.values()[0] + conf_file = conf_files[0] # Get node - nodes = Nodes(self.api, [node_id_or_hostname]) - if not nodes: - raise PLCInvalidArgument, "No such node" - node = nodes.values()[0] - - # Link configuration file to node + nodes = Nodes(self.api, [node_id_or_hostname]) + if not nodes: + raise PLCInvalidArgument, "No such node" + node = nodes[0] + + if node['peer_id'] is not None: + raise PLCInvalidArgument, "Not a local node" + + # Link configuration file to node if node['node_id'] not in conf_file['node_ids']: conf_file.add_node(node) # Log affected objects - self.object_ids = [conf_file_id, node['node_id']] + self.event_objects = {'ConfFile': [conf_file_id], + 'Node': [node['node_id']] } return 1