import_remotecontrol 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NTA1YzExYmQyOTQxOTM1ZDlhNTU2YTYwMTU3MGM0Mjc0ZGM1YWIwMA==
4
+ YmU4NTk1ODU3YzI4N2RjNTFhY2NiNjJhMGJjMjVjMTNlZDI4NDlmNQ==
5
5
  data.tar.gz: !binary |-
6
- YzI4YmRjNjViOTNhYjM5NTE1MDIxMTcyMmM4OWQ0NTA1MzJkNjlkMw==
6
+ MzU2Mzc1MThhMjhhMmM1NmNjNTczM2JlODdlY2NiNTEzM2NmYzA3MQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- Nzg5NzRhMTFmZDg1N2RjNzMzOWEzNjI2MzA1MTNiNjQzZjA3NTAxOWJjNGMx
10
- MTU4M2M2MTRlY2VkMDY4OWI3NGZmMTNmM2YwMmNmYTNmYjMzYTZmZGJiYzMx
11
- NTc0YjM1NDYzNTU3ZmEwMjczNzQyMTAwZTAwY2M5YjQ3MTgxNTA=
9
+ ODQ1ZmVhMzc3N2QxYTg0MzU1M2I1Zjg3ZDc5ZjNlOTZjMGI0ODQ3Mjc3NDY4
10
+ NGMyOWY2NGU1MzEyN2E0N2UxYjAyMWIyYjIzM2MyNWUzZTcyNjZlMzE5ZWFj
11
+ Mjc5YWQ1M2EyZjZiM2VkZTM4NWM5MTRjY2ZlYjc2YjA1YmJlZDU=
12
12
  data.tar.gz: !binary |-
13
- MGNjZjk0MDE2ZTAxYmU4ZTAwN2I4YWZkNDE2YzBlOWNlMjNlZjAyMmQ3ZTRj
14
- MzI3NzRhNTUxYzFmYTRjNWJlNDZjOTBkZGMzMTdkMmM3YzAyMmM4NjU5MDMx
15
- MTQ1YTk4NzY3ZTQ4OWQ5MTA1ODgzYmQzNzk2ZjI0ZWJhMmQ1MmY=
13
+ NDFmYTEwMTc1OWEzMTBhODY5NGM2OGE5MWI5NTY2ZWEzZTdkOTFjMDhkZTU5
14
+ OThkOWU0ODY1MTAyOWVhM2QzNGFmYzE2OTY1YzdlY2JmZGNkYjg0ZGEyMDVk
15
+ MWU5OTQyYmZkOGVjY2Y3YjA2MTdlZGRhOTAyNTVjNTBkMGQ0MzY=
data/lib/import_code.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  #encoding:utf-8
2
+ require 'find'
2
3
  module ImportCode
3
4
  # To change this template use File | Settings | File Templates.
4
5
  attr_accessor :file_path_array
@@ -135,9 +136,12 @@ module ImportCode
135
136
  #protocol_user_code = codelist[1]
136
137
  #other_code = ""
137
138
  code = ""
139
+ p codelist
138
140
  1.upto(codelist.size-1).each do |index|
139
- code = codelist[index] + ":"
141
+ code =code + codelist[index]
142
+ code =code + ":" unless index == codelist.size-1
140
143
  end
144
+ p code
141
145
  {protocol_name:protocol,code:code}
142
146
  end
143
147
 
@@ -1,177 +1,3 @@
1
1
  #encoding:utf-8
2
2
  require 'find'
3
3
  require 'import_code'
4
- module ImportRemotecontrol
5
- class ImportRemote
6
- attr_accessor :file_path_array
7
- attr_accessor :remote_code_array
8
- attr_accessor :protocol_hash
9
-
10
- DEFAULT_UNCLUDE = ["FileFormat","Remotecontroldescripe","Device","Brand","Model","Button'scounts"]
11
- DEFAULT_NOIMPORT = ["FileFormat","Remotecontroldescripe","Button'scounts"]
12
-
13
- METHOD_NAME = "method_name"
14
-
15
- DEFAULT_CODENAME = {"机顶盒电源"=>"power","静音"=>"voice_quiet","菜单"=>"menu",
16
- "上"=>"up","下"=>"down","左"=>"left","右"=>"right",
17
- "音量+"=>'voice_up',"音量-"=>"voice_down",
18
- "频道+"=>"channel_up","频道-"=>"channel_down"}
19
-
20
- BRAND ="Brand"
21
- MODEL = "model"
22
-
23
-
24
- def self.get_error_msg(error,options={})
25
- ret = ""
26
- ret = ret + "ClassName: import_remotecontrol gem "
27
- if options["method_name"]
28
- ret = ret + "MethodName: #{options["method_name"]} "
29
- end
30
- if error
31
- ret = ret + "Error Msg: #{error.to_s}"
32
- end
33
- ret
34
- end
35
-
36
- #遍历文件夹获取全部的文件名
37
- def self.getFileNames(dir_path)
38
- @file_path_array = []
39
- begin
40
- Find.find(dir_path).each do |path|
41
- if FileTest.directory?(path)
42
- Dir.foreach(path) do |file_path|
43
- if(file_path != "."&&file_path!= "..")
44
- if FileTest.directory?("#{path}/#{file_path}")
45
- self.getFileNames("#{path}/#{file_path}")
46
- else
47
- if(file_path.eql?("protocol"))
48
- getProtocolList("#{path}/#{file_path}")
49
- else
50
- @file_path_array << {"file_path"=>"#{path}/#{file_path}","file_name"=>"#{file_path}"}
51
- end
52
- end
53
- end
54
- end
55
- end
56
- end
57
- rescue => err
58
- raise ArgumentError, get_error_msg(err,{METHOD_NAME => "getFileNames"})
59
- end
60
- @file_path_array
61
- end
62
-
63
-
64
- def self.isProcolCode?(key)
65
- !DEFAULT_UNCLUDE.include?(key)
66
- end
67
-
68
- def self.isBrand?(key)
69
- key.eql?("Brand")
70
- end
71
-
72
-
73
-
74
- def self.getHashRemoteCode(file_path)
75
- ret = {}
76
- brand = ""
77
- remote_code_line = File.read(file_path)
78
- remote_code_line.split("\r\n").each do |code|
79
- i = code.split("=")
80
- if i.count>=2
81
- i[0] = "" unless i[0]
82
- key = i[0].gsub(" ","")
83
- key = DEFAULT_CODENAME[key] if DEFAULT_CODENAME.has_key?(key)
84
- if isBrand?(key)
85
- brand = i[1]
86
- end
87
- if i
88
- if i[0]
89
- if(i[0].split(",").count > 1)
90
- key = i[0].split(",")[1]
91
- unless isProcolCode?(key)
92
- ret.merge!({key => i[1]}) unless DEFAULT_NOIMPORT.include?(key)
93
- else
94
- codehash = disposeProtocolCode(i[1],brand)
95
- ret.merge!({key=>codehash}) unless DEFAULT_NOIMPORT.include?(key)
96
- end
97
- else
98
- ret.merge!({key=>i[1]}) unless DEFAULT_NOIMPORT.include?(key)
99
- end
100
- end
101
- end
102
- end
103
- end
104
- ret
105
- end
106
-
107
- def self.getProtocolList(file_path)
108
- @protocol_hash = {}
109
- protocol_lines = File.read(file_path)
110
- protocol_lines.split("\n").each do |protocol_line|
111
- protocol = protocol_line.split(":")
112
- if(@protocol_hash.has_key?(protocol[0]))
113
- @protocol_hash["#{protocol[0]}"].merge!({protocol[1]=>protocol[2]}) if protocol[2]!=nil&&protocol[2]!=""
114
- else
115
- @protocol_hash["#{protocol[0]}"] = {protocol[1]=>protocol[2]} if protocol[2]!=nil&&protocol[2]!=""
116
- end
117
- end
118
- @protocol_hash
119
- end
120
-
121
-
122
- def self.disposeProtocolCode(codes,brand)
123
- protocol = ""
124
- codelist = codes.split(" ")
125
- protocol_name = codelist[0]
126
- if @protocol_hash[brand]
127
- protocol = @protocol_hash[brand][protocol_name] if @protocol_hash[brand][protocol_name]
128
- else
129
- end
130
- #protocol_user_code = codelist[1]
131
- #other_code = ""
132
- code = ""
133
- 1.upto(codelist.size-1).each do |index|
134
- code = codelist[index] + ":"
135
- end
136
- {protocol_name:protocol,code:code}
137
- end
138
-
139
-
140
- def self.importRemoteCode(file_msg)
141
- remote_code_hash = {}
142
- begin
143
- if file_msg
144
- file_path = nil
145
- file_path = file_msg["file_path"]
146
- file_name = nil
147
- file_name = file_msg["file_name"]
148
- if file_path
149
- remote_code_hash.merge!(getHashRemoteCode(file_path))
150
- else
151
-
152
- end
153
- end
154
- rescue => err
155
- raise ArgumentError, get_error_msg(err,{METHOD_NAME => "importRemoteCode"})
156
- end
157
- remote_code_hash
158
- end
159
-
160
-
161
-
162
-
163
-
164
- def self.getRemoteCodeArray(dir_path)
165
- @remote_code_array = []
166
- if FileTest.directory?(dir_path)
167
- filenames = getFileNames(dir_path)
168
- filenames.each do |file_msg|
169
- @remote_code_array<<importRemoteCode(file_msg)
170
- end
171
- end
172
- @remote_code_array
173
- end
174
- end
175
-
176
-
177
- end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: import_remotecontrol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - zql