summaryrefslogtreecommitdiffstats
path: root/lib/puppet/network/handler/fileserver.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/network/handler/fileserver.rb')
-rwxr-xr-xlib/puppet/network/handler/fileserver.rb13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/puppet/network/handler/fileserver.rb b/lib/puppet/network/handler/fileserver.rb
index da0a2befe..d87eb83fa 100755
--- a/lib/puppet/network/handler/fileserver.rb
+++ b/lib/puppet/network/handler/fileserver.rb
@@ -653,8 +653,6 @@ class Puppet::Network::Handler
# and "bad batch".
#
def list(relpath, recurse, ignore, client = nil)
- require 'puppet/file_serving'
- require 'puppet/file_serving/fileset'
abspath = file_path(relpath, client)
if FileTest.exists?(abspath)
if FileTest.directory?(abspath) and recurse
@@ -667,6 +665,8 @@ class Puppet::Network::Handler
end
def reclist(abspath, recurse, ignore)
+ require 'puppet/file_serving'
+ require 'puppet/file_serving/fileset'
args = { :recurse => recurse, :links => :follow }
args[:ignore] = ignore if ignore
fs = Puppet::FileServing::Fileset.new(abspath, args)
@@ -720,9 +720,12 @@ class Puppet::Network::Handler
def list(relpath, recurse, ignore, client = nil)
result = []
valid_modules.each do |m|
- ary = reclist(mod_file_path(m, relpath, client), nil, recurse, ignore)
- ary = [] if ary.nil?
- result += ary
+ modpath = mod_file_path(m, relpath, client)
+ if FileTest.exists?(modpath)
+ ary = reclist(modpath, recurse, ignore)
+ ary = [] if ary.nil?
+ result += ary
+ end
end
result
end