get rid of svn keywords once and for good
[plcapi.git] / PLC / Methods / AddConfFile.py
index 9641dd2..6e4fe8b 100644 (file)
@@ -2,42 +2,36 @@ from PLC.Faults import *
 from PLC.Method import Method
 from PLC.Parameter import Parameter, Mixed
 from PLC.ConfFiles import ConfFile, ConfFiles
-from PLC.Auth import PasswordAuth
+from PLC.Auth import Auth
 
 can_update = lambda (field, value): field not in \
-             ['conf_file_id', 'source', 'dest', 'node_ids', 'nodegroup_ids']
+             ['conf_file_id', 'node_ids', 'nodegroup_ids']
 
 class AddConfFile(Method):
     """
     Adds a new node configuration file. Any fields specified in
     conf_file_fields are used, otherwise defaults are used.
 
-    Returns 1 if successful, faults otherwise.
+    Returns the new conf_file_id (> 0) if successful, faults otherwise.
     """
 
     roles = ['admin']
 
-    update_fields = dict(filter(can_update, ConfFile.fields.items()))
+    conf_file_fields = dict(filter(can_update, ConfFile.fields.items()))
 
     accepts = [
-        PasswordAuth(),
-        ConfFile.fields['source'],
-        ConfFile.fields['dest'],
-        update_fields
+        Auth(),
+        conf_file_fields
         ]
 
-    returns = Parameter(int, '1 if successful')
+    returns = Parameter(int, 'New conf_file_id (> 0) if successful')
 
-    event_type = 'Add'
-    object_type = 'ConfFile'
-    object_ids = []
 
-    def call(self, auth, source, dest, conf_file_fields = {}):
+    def call(self, auth, conf_file_fields):
         conf_file_fields = dict(filter(can_update, conf_file_fields.items()))
         conf_file = ConfFile(self.api, conf_file_fields)
-        conf_file['source'] = source
-        conf_file['dest'] = dest
         conf_file.sync()
-       self.object_ids = [conf_file['conf_file_id']]
 
-        return 1
+        self.event_objects = {'ConfFile': [conf_file['conf_file_id']]}
+
+        return conf_file['conf_file_id']