diff options
| author | nertwork <webmaster@nertwork.com> | 2016-12-20 10:49:24 -0800 | 
|---|---|---|
| committer | nertwork <webmaster@nertwork.com> | 2016-12-20 10:49:24 -0800 | 
| commit | e0621bbb81daab0de9fccc031c3e875031c2b67b (patch) | |
| tree | 9b527895c0a07d216f67728526b0ed7f82a40d12 /lib/oxidized/output/file.rb | |
| parent | bcdd40d552cbf5e32dafebf4e531d407eb85bc84 (diff) | |
| parent | 1466f0f635d1e014ea993179729306d3a9a8d381 (diff) | |
Merge remote-tracking branch 'upstream/master'
* upstream/master: (109 commits)
  delete secret password if it is called secret
  bump up version
  update changelogs
  Recursively search from one dir above specified
  Fix suggested by ytti for issue #610
  Remove trailing whitespace and enable prompt detection
  Update eos.rb
  exclude time from output
  New hook: awssns - Publish messages to AWS SNS topics
  Updated config options
  Added option to disable ssl verification checks for http source
  Update ciscosmb.rb
  Update ciscosmb.rb
  Update ciscosmb.rb
  expect prompt after entering enable password
  add support for PLANET SG switches
  renamed  alvarion -> alvarion.rb
  This adds support for Hatteras Networks devices
  This adds support for D-Link switches
  This adds support for the Casa C1G CMTS
  ...
Diffstat (limited to 'lib/oxidized/output/file.rb')
| -rw-r--r-- | lib/oxidized/output/file.rb | 20 | 
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/oxidized/output/file.rb b/lib/oxidized/output/file.rb index bb13827..45f72e1 100644 --- a/lib/oxidized/output/file.rb +++ b/lib/oxidized/output/file.rb @@ -17,7 +17,7 @@ class OxidizedFile < Output    end    def store node, outputs, opt={} -    file = @cfg.directory +    file = File.expand_path @cfg.directory      if opt[:group]        file = File.join File.dirname(file), opt[:group]      end @@ -28,18 +28,22 @@ class OxidizedFile < Output    end    def fetch node, group -    cfg_dir = @cfg.directory +    cfg_dir   = File.expand_path @cfg.directory +    node_name = node.name +      if group # group is explicitly defined by user -      IO.readlines File.join(cfg_dir, group, node) +      cfg_dir = File.join File.dirname(cfg_dir), group +      File.read File.join(cfg_dir, node_name)      else -      if File.exists? File.join(cfg_dir, node) # node configuration file is stored on base directory -        IO.readlines File.join(cfg_dir, node) +      if File.exists? File.join(cfg_dir, node_name) # node configuration file is stored on base directory +        File.read File.join(cfg_dir, node_name)        else -        path = Dir.glob File.join(cfg_dir, '**', node) # fetch node in all groups -        return nil if path[0].nil? -        open(path[0], 'r').readlines +        path = Dir.glob(File.join(File.dirname(cfg_dir), '**', node_name)).first # fetch node in all groups +        File.read path        end      end +  rescue Errno::ENOENT +    return nil    end    def version node, group  | 
