#coding=utf-8 require "aio/core" class Aio::Module::Cmd::Maipu::ShowSystemModuleBrief < Aio::Module::Cmd::Maipu include Aio::Module def initialize super({ :cmd_full => "show system module brief", :cmd_short => "sh sys mod b", :author => "Elin", :description => "This is Maipu Command# show system module brief", :ranking => Ranking_1, :platform => "all", :benchmark => {} }) end def parse cont = self.context.dup useful[:module] = {} all_module = useful[:module] cont.readline_match_block(/-------------------/) {|b|b} cont.readline_match_block_loop(/.*/, reg_blank) do |block| bl = block[0].to_s arr = bl.split(' ') # 当是7个的时候,说明是 # Mpu 0 online Start Ok SM3120-28TC(V1) ****************** if arr.size == 7 md = arr.shift + " " + arr.shift online = arr.shift status = arr.shift + " " + arr.shift name = arr.shift sn = arr.shift one_module = {} all_module[md] = one_module block.update(one_module, :module, md) block.update(one_module, :online, online) block.update(one_module, :status, status) block.update(one_module, :name, name) block.update(one_module, :sn, sn) # Power 1 online Normal / elsif md = arr.shift + " " + arr.shift online = arr.shift status = arr.shift name = arr.shift sn = arr.shift unless arr.empty? sn ||= '/' one_module = {} all_module[md] = one_module block.update(one_module, :module, md) block.update(one_module, :online, online) block.update(one_module, :status, status) block.update(one_module, :name, name) block.update(one_module, :sn, sn) end end end end