More complete handling of 4.2 calls mapped to 4.3 calls.
[plcapi.git] / PLC / Methods / AddSliceAttributeType.py
index e481b7b..d2c830f 100644 (file)
@@ -1,40 +1,13 @@
-from PLC.Faults import *
-from PLC.Method import Method
-from PLC.Parameter import Parameter, Mixed
-from PLC.SliceAttributeTypes import SliceAttributeType, SliceAttributeTypes
-from PLC.Auth import Auth
 
-can_update = lambda (field, value): field in \
-             ['name', 'description', 'min_role_id']
-
-class AddSliceAttributeType(Method):
-    """
-    Adds a new type of slice attribute. Any fields specified in
-    attribute_type_fields are used, otherwise defaults are used.
-
-    Returns the new attribute_type_id (> 0) if successful, faults
-    otherwise.
-    """
-
-    roles = ['admin']
-
-    attribute_type_fields = dict(filter(can_update, SliceAttributeType.fields.items()))
-
-    accepts = [
-        Auth(),
-        attribute_type_fields
-        ]
-
-    returns = Parameter(int, 'New attribute_id (> 0) if successful')
-
-    event_type = 'Add'
-    object_type = 'SliceAttributeType'
-
-    def call(self, auth, attribute_type_fields):
-        attribute_type_fields = dict(filter(can_update, attribute_type_fields.items()))
-        attribute_type = SliceAttributeType(self.api, attribute_type_fields)
-        attribute_type.sync()
-
-       self.object_ids = [attribute_type['attribute_type_id']]
-
-        return attribute_type['attribute_type_id']
+from PLC.v42Legacy import patch
+from PLC.v42LegacyAttributeTypes import v42rename, v43rename
+from PLC.Methods.AddTagType import AddTagType
+class AddSliceAttributeType(AddTagType):
+    """ Legacy version of AddTagType. """
+    skip_typecheck = True
+    status = "deprecated"
+    def call(self, auth, *args, **kwds):
+        newargs=[patch(x,v42rename) for x in args]
+        newkwds=dict ( [ (k,patch(v,v42rename)) for (k,v) in kwds.iteritems() ] )
+        results = AddTagType.call(self,auth,*newargs,**newkwds)
+        return patch(results,v43rename)