aio_elin 1.0.7 → 1.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/aio/base/toolkit/regexp.rb +27 -27
- data/lib/modules/input/style/console.rb +3 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 68c2ed869316871e0aab1200b4d0575cd6bdfe498cf5706593dd6911363e1a2b
|
4
|
+
data.tar.gz: cef51f752f5664902c3cbf529e09fccb122644a117bc2579c2f32d25263128d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e040c8c52896dbb809bb13bb47a995b947e7126eb45e800e678329ddd26e4e14e5c44a41782f7d5298ee805ae2be3b06c9cf4a619f63c0a8ae38961b5947f9f
|
7
|
+
data.tar.gz: 586f9b5db9b782731d71679c6d56ce0812ef5d8053bda2ed17fde5227cad6a8307b4d2c64bc8b8fe53cb0e67c1ba05abd130fcbfcdc2f61a8e49c25853257281
|
@@ -1,32 +1,32 @@
|
|
1
1
|
module Aio::Base::Toolkit
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
2
|
+
module Regexp
|
3
|
+
class << self
|
4
|
+
def to_reg(cmd)
|
5
|
+
res = cmd.gsub(' ', '([^\s]*)\s+')
|
6
|
+
res.insert(0, '^')
|
7
|
+
res.insert(-1, '([^\s]*)$')
|
8
|
+
return ::Regexp.new(res)
|
9
|
+
end
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
def blank
|
12
|
+
return /^[\t]*$/
|
13
|
+
end
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
15
|
+
# 产生一个安全的正则表达式
|
16
|
+
def safe(reg)
|
17
|
+
res = reg.to_s.gsub(' ', '\s+')
|
18
|
+
return ::Regexp.new(res)
|
19
|
+
end
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
21
|
+
# 将一个数组的正则表达式合并成为一个正则表达式
|
22
|
+
def merge(arr_regs)
|
23
|
+
str_arr = []
|
24
|
+
arr_regs.each {|x| str_arr << x.to_s}
|
25
|
+
new_reg = str_arr.join("|").gsub("?-mix:", "")
|
26
|
+
new_reg = ::Regexp.new(new_reg)
|
27
|
+
return new_reg
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
31
|
end
|
32
|
-
|
32
|
+
|
@@ -109,6 +109,7 @@ class Aio::Module::InputStyle::Console < Aio::Module::InputStyle
|
|
109
109
|
# 当前是空的状态
|
110
110
|
# 判断当前行有没有模块中的命令
|
111
111
|
line = Aio::Base::Toolkit::String.safe(line)
|
112
|
+
return if line.include?('Command is')
|
112
113
|
return unless @machine.regs.match(line)
|
113
114
|
|
114
115
|
@machine.to_cmd_state
|
@@ -127,7 +128,7 @@ class Aio::Module::InputStyle::Console < Aio::Module::InputStyle
|
|
127
128
|
|
128
129
|
# 当已经发现了是cmd行,那么紧接下来就是收集文本内容
|
129
130
|
cmd_context.device_name = res[:name]
|
130
|
-
cmd_context.cmd = res[:cmd]
|
131
|
+
cmd_context.cmd = res[:cmd].strip
|
131
132
|
@machine.to_context_state
|
132
133
|
end
|
133
134
|
end
|
@@ -138,6 +139,7 @@ class Aio::Module::InputStyle::Console < Aio::Module::InputStyle
|
|
138
139
|
# 如果这行是命令行格式,那么就代表上一个cmd内容结束
|
139
140
|
#tmp_reg = ::Regexp.new "^[\\[|<]{0,1}#{cmd_context.device_name}[#|>|\\]]{1}"
|
140
141
|
tmp_reg = ::Regexp.new "^[\\[|<]?#{cmd_context.device_name}[#|>|\\]]{1}"
|
142
|
+
|
141
143
|
# 可能会出现UTF-8识别不出摄氏度符号的问题
|
142
144
|
# 已经通过安全字符解决
|
143
145
|
begin
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aio_elin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-01-
|
11
|
+
date: 2019-01-15 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: 网络设备巡检工具
|
14
14
|
email: 365433079@qq.com
|