]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
heat cli : remove some duplication from parameter formatting
authorSteven Hardy <shardy@redhat.com>
Tue, 14 Aug 2012 16:27:16 +0000 (17:27 +0100)
committerSteven Hardy <shardy@redhat.com>
Thu, 16 Aug 2012 09:51:29 +0000 (10:51 +0100)
Cleanup - bin/heat move some duplicated code into a function

Change-Id: Ib74077c557a2b8d7c640ee1686237bb5223b2a85
Signed-off-by: Steven Hardy <shardy@redhat.com>
bin/heat

index e8540663795075e173f23b2f077fead05ce7a271..3fb0ec83f788e3d13df26e8838734b791ac5b9df 100755 (executable)
--- a/bin/heat
+++ b/bin/heat
@@ -49,6 +49,16 @@ from heat.common import exception
 from heat import utils
 
 
+def format_parameters(options):
+    parameters = {}
+    if options.parameters:
+        for count, p in enumerate(options.parameters.split(';'), 1):
+            (n, v) = p.split('=')
+            parameters['Parameters.member.%d.ParameterKey' % count] = n
+            parameters['Parameters.member.%d.ParameterValue' % count] = v
+    return parameters
+
+
 @utils.catch_error('validate')
 def template_validate(options, arguments):
     '''
@@ -71,13 +81,7 @@ def template_validate(options, arguments):
         logging.error('Please specify a template file or url')
         return utils.FAILURE
 
-    if options.parameters:
-        count = 1
-        for p in options.parameters.split(';'):
-            (n, v) = p.split('=')
-            parameters['Parameters.member.%d.ParameterKey' % count] = n
-            parameters['Parameters.member.%d.ParameterValue' % count] = v
-            count = count + 1
+    parameters.update(format_parameters(options))
 
     client = get_client(options)
     result = client.validate_template(**parameters)
@@ -94,13 +98,7 @@ def estimate_template_cost(options, arguments):
         logging.error("as the first argument")
         return utils.FAILURE
 
-    if options.parameters:
-        count = 1
-        for p in options.parameters.split(';'):
-            (n, v) = p.split('=')
-            parameters['Parameters.member.%d.ParameterKey' % count] = n
-            parameters['Parameters.member.%d.ParameterValue' % count] = v
-            count = count + 1
+    parameters.update(format_parameters(options))
 
     if options.template_file:
         parameters['TemplateBody'] = open(options.template_file).read()
@@ -158,13 +156,7 @@ def stack_create(options, arguments):
         logging.error("as the first argument")
         return utils.FAILURE
 
-    if options.parameters:
-        count = 1
-        for p in options.parameters.split(';'):
-            (n, v) = p.split('=')
-            parameters['Parameters.member.%d.ParameterKey' % count] = n
-            parameters['Parameters.member.%d.ParameterValue' % count] = v
-            count = count + 1
+    parameters.update(format_parameters(options))
 
     parameters['TimeoutInMinutes'] = options.timeout
 
@@ -214,13 +206,7 @@ def stack_update(options, arguments):
     elif options.template_url:
         parameters['TemplateUrl'] = options.template_url
 
-    if options.parameters:
-        count = 1
-        for p in options.parameters.split(';'):
-            (n, v) = p.split('=')
-            parameters['Parameters.member.%d.ParameterKey' % count] = n
-            parameters['Parameters.member.%d.ParameterValue' % count] = v
-            count = count + 1
+    parameters.update(format_parameters(options))
 
     c = get_client(options)
     result = c.update_stack(**parameters)