-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 PasswordAuth
-can_update = lambda (field, value): field in \
- ['name', 'description', 'min_role_id']
-
-class UpdateSliceAttributeType(Method):
- """
- Updates the parameters of an existing attribute with the values in
- attribute_type_fields.
-
- Returns 1 if successful, faults otherwise.
- """
-
- roles = ['admin']
-
- attribute_type_fields = dict(filter(can_update, SliceAttributeType.fields.items()))
- for field in attribute_type_fields.values():
- field.optional = True
-
- accepts = [
- PasswordAuth(),
- Mixed(SliceAttributeType.fields['attribute_type_id'],
- SliceAttributeType.fields['name']),
- attribute_type_fields
- ]
-
- returns = Parameter(int, '1 if successful')
-
- def call(self, auth, attribute_type_id_or_name, attribute_type_fields):
- attribute_type_fields = dict(filter(can_update, attribute_type_fields.items()))
-
- attribute_types = SliceAttributeTypes(self.api, [attribute_type_id_or_name]).values()
- if not attribute_types:
- raise PLCInvalidArgument, "No such attribute"
- attribute_type = attribute_types[0]
-
- attribute_type.update(attribute_type_fields)
-
- attribute_type.sync()
-
- return 1
+from PLC.v42Legacy import patch
+from PLC.v42LegacyAttributeTypes import v42rename, v43rename
+from PLC.Methods.UpdateTagType import UpdateTagType
+class UpdateSliceAttributeType(UpdateTagType):
+ """ Legacy version of UpdateTagType. """
+ 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 = UpdateTagType.call(self,auth,*newargs,**newkwds)
+ return patch(results,v43rename)