diff options
Diffstat (limited to 'lib/oxidized/model')
| -rw-r--r-- | lib/oxidized/model/powerconnect.rb | 25 | 
1 files changed, 22 insertions, 3 deletions
| diff --git a/lib/oxidized/model/powerconnect.rb b/lib/oxidized/model/powerconnect.rb index 429f1c8..17674f1 100644 --- a/lib/oxidized/model/powerconnect.rb +++ b/lib/oxidized/model/powerconnect.rb @@ -19,9 +19,8 @@ class PowerConnect < Oxidized::Model    end    cmd 'show system' do |cfg| -    cfg = cfg.split("\n").select { |line| not line[/Up\sTime/] } -    cfg = cfg[0..-28]<<" " -    comment cfg.join("\n") +    @model = $1 if cfg.match /Power[C|c]onnect (\d{4}[A-Z]?)/ +    clean cfg    end    cmd 'show running-config' @@ -46,4 +45,24 @@ class PowerConnect < Oxidized::Model    end +  def clean cfg +    out = [] +    skip_block = false +    cfg.each_line do |line| +      if line.match /Up\sTime|Temperature|Power Supplies/i +        # For 34xx, 54xx, 55xx, and 8024F we should skip this block (terminated by a blank line) +        skip_block = true if @model =~ /^34(24|48)$|^54(24|48)$|^55(24|48)$|^8024F$/ +      end +      # If we have lines to skip do this until we reach and empty line +      if skip_block +        skip_block = false if /\S/ !~ line +        next +      end +      out << line.strip +    end +    out = comment out.join "\n" +    out << "\n" +  end + +  end | 
