This patch fixes the issue in a quite basic way. Legitimate " or ' characters
get silently dropped (ie: changes => "set \"server string\" marc's server"
results in "server string = marc s server") and "onlyif => ..." still chokes on
whitespaces.

Still some work left, but at least it lets augeas edit items containing
whitespaces.

Signed-off-by: Marc Fournier <[email protected]>
---
 lib/puppet/provider/augeas/augeas.rb |    8 +++++++-
 lib/puppet/type/augeas.rb            |    7 +++++++
 2 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/lib/puppet/provider/augeas/augeas.rb 
b/lib/puppet/provider/augeas/augeas.rb
index 0ffddeb..e92560b 100644
--- a/lib/puppet/provider/augeas/augeas.rb
+++ b/lib/puppet/provider/augeas/augeas.rb
@@ -38,7 +38,13 @@ Puppet::Type.type(:augeas).provide(:augeas) do
         if data.is_a?(String)
             data.each_line do |line|
                 cmd_array = Array.new()
-                tokens = line.split(" ")
+                if line.include? ?" or line.include? ?'
+                  tokens = line.split(/\"|'/)
+                  tokens[0].slice!(/\s+$/)
+                  tokens[2].slice!(/^\s+/)
+                else
+                  tokens = line.split(" ")
+                end
                 cmd = tokens.shift()
                 file = tokens.shift()
                 other = tokens.join(" ")
diff --git a/lib/puppet/type/augeas.rb b/lib/puppet/type/augeas.rb
index 67b62e8..17cdde0 100644
--- a/lib/puppet/type/augeas.rb
+++ b/lib/puppet/type/augeas.rb
@@ -50,6 +50,13 @@ Puppet::Type.newtype(:augeas) do
                 load_path => \"$/usr/share/jbossas/lenses\",
             }
 
+         Sample usage when parameters contain whitespace::
+
+            augeas{\"samba server string\":
+                context => \"/files/etc/samba/smb.conf/target[1]\",
+                changes => \"set \\\"server string\\\" %h server\",
+            }
+
          "
 
     newparam (:name) do
-- 
1.5.6.5


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to