From c5dc8ffa107ed7facb930c419e3f561653aefcc1 Mon Sep 17 00:00:00 2001
From: Tony Mack <tmack@cs.princeton.edu>
Date: Wed, 2 Jan 2008 17:07:07 +0000
Subject: [PATCH] use initscript name instead of id

---
 PLC/Methods/AddSliceAttribute.py    | 8 ++++----
 PLC/Methods/UpdateSliceAttribute.py | 6 +++---
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/PLC/Methods/AddSliceAttribute.py b/PLC/Methods/AddSliceAttribute.py
index c5183bce..ad324374 100644
--- a/PLC/Methods/AddSliceAttribute.py
+++ b/PLC/Methods/AddSliceAttribute.py
@@ -33,7 +33,7 @@ class AddSliceAttribute(Method):
         Mixed(SliceAttribute.fields['attribute_type_id'],
               SliceAttribute.fields['name']),
         Mixed(SliceAttribute.fields['value'],
-	      InitScript.fields['initscript_id']),
+	      InitScript.fields['name']),
         Mixed(Node.fields['node_id'],
               Node.fields['hostname'],
 	      None),
@@ -67,15 +67,15 @@ class AddSliceAttribute(Method):
                 raise PLCPermissionDenied, "Not allowed to set the specified slice attribute"
 
 	# if initscript is specified, validate value
-	if attribute_type['name'] in ['plc_initscript_id']:
-	    initscripts = InitScripts(self.api, {'enabled': True, 'initscript_id': int(value)})
+	if attribute_type['name'] in ['initscript']:
+	    initscripts = InitScripts(self.api, {'enabled': True, 'name': value})
 	    if not initscripts:	
 		raise PLCInvalidArgument, "No such plc initscript" 	
 
         slice_attribute = SliceAttribute(self.api)
         slice_attribute['slice_id'] = slice['slice_id']
         slice_attribute['attribute_type_id'] = attribute_type['attribute_type_id']
-        slice_attribute['value'] = value
+        slice_attribute['value'] = unicode(value)
 
         # Sliver attribute if node is specified
         if node_id_or_hostname is not None:
diff --git a/PLC/Methods/UpdateSliceAttribute.py b/PLC/Methods/UpdateSliceAttribute.py
index 43cf1f33..024a8e4d 100644
--- a/PLC/Methods/UpdateSliceAttribute.py
+++ b/PLC/Methods/UpdateSliceAttribute.py
@@ -24,7 +24,7 @@ class UpdateSliceAttribute(Method):
         Auth(),
         SliceAttribute.fields['slice_attribute_id'],
 	Mixed(SliceAttribute.fields['value'],
-              InitScript.fields['initscript_id'])
+              InitScript.fields['name'])
         ]
 
     returns = Parameter(int, '1 if successful')
@@ -57,8 +57,8 @@ class UpdateSliceAttribute(Method):
                min(self.caller['role_ids']) > slice_attribute['min_role_id']:
                 raise PLCPermissionDenied, "Not allowed to update the specified attribute"
 	
-	if slice_attribute['name'] in ['plc_initscript_id']:
-            initscripts = InitScripts(self.api, {'enabled': True, 'initscript_id': int(value)})
+	if slice_attribute['name'] in ['initscript']:
+            initscripts = InitScripts(self.api, {'enabled': True, 'name': value})
             if not initscripts:
                 raise PLCInvalidArgument, "No such plc initscript"	
 
-- 
2.47.0