Skip to content

Commit 73447d6

Browse files
authored
B #6975: Support user-input values containing commas (#3482)
Signed-off-by: Jaime Conchello <jconchello@opennebula.io>
1 parent 130bd13 commit 73447d6

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

src/cli/one_helper.rb

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -421,22 +421,17 @@ module OpenNebulaHelper
421421
{
422422
:name => 'user_inputs',
423423
:large => '--user-inputs ui1,ui2,ui3',
424-
:format => Array,
424+
:format => String,
425425
:description => 'Specify the user inputs values when instantiating',
426-
:proc => lambda do |o, options|
427-
# Store user inputs that has been already processed
428-
options[:user_inputs_keys] = []
429-
430-
# escape values
431-
options[:user_inputs].map! do |user_input|
432-
user_input_split = user_input.split('=')
426+
:proc => lambda do |_o, options|
427+
keys = options[:user_inputs].scan(/(?:^|,)([^,=]+)=/).flatten
428+
values = options[:user_inputs].scan(/=(.+?)(?=,[^,]+=|$)/).flatten
433429

434-
options[:user_inputs_keys] << user_input_split[0]
435-
436-
"#{user_input_split[0]}=\"#{user_input_split[1]}\""
437-
end
430+
options[:user_inputs_keys] = keys
438431

439-
options[:user_inputs] = o.join("\n")
432+
options[:user_inputs] = keys.zip(values).map do |k, v|
433+
%[#{k}="#{v}"]
434+
end.join("\n")
440435
end
441436
},
442437
{

0 commit comments

Comments
 (0)