X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FAddConfFileToNode.py;h=eeb9af58131188165913b48d32bc0083f255e446;hb=refs%2Ftags%2Fplcapi-5.3-11;hp=47886a827799ba102aa76dc8381235a923e1c4d4;hpb=86f246c43a5cf8fb1b9cfcc88cc623bc09998271;p=plcapi.git diff --git a/PLC/Methods/AddConfFileToNode.py b/PLC/Methods/AddConfFileToNode.py index 47886a8..eeb9af5 100644 --- a/PLC/Methods/AddConfFileToNode.py +++ b/PLC/Methods/AddConfFileToNode.py @@ -24,27 +24,28 @@ class AddConfFileToNode(Method): returns = Parameter(int, '1 if successful') - event_type = 'AddTo' - object_type = 'ConfFile' - 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[0] # Get node - nodes = Nodes(self.api, [node_id_or_hostname]) - if not nodes: - raise PLCInvalidArgument, "No such node" - node = nodes[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