get rid of svn keywords once and for good
[plcapi.git] / PLC / Methods / AddConfFile.py
index d258ab7..6e4fe8b 100644 (file)
@@ -2,17 +2,17 @@ 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']
@@ -20,21 +20,18 @@ class AddConfFile(Method):
     conf_file_fields = dict(filter(can_update, ConfFile.fields.items()))
 
     accepts = [
-        PasswordAuth(),
+        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, 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.sync()
 
-       self.object_ids = [conf_file['conf_file_id']]
+        self.event_objects = {'ConfFile': [conf_file['conf_file_id']]}
 
-        return 1
+        return conf_file['conf_file_id']