imperituroard 1.1.8 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/imperituroard.gemspec +1 -1
- data/lib/imperituroard.rb +21 -0
- data/lib/imperituroard/projects/iot.rb +1 -1
- data/lib/imperituroard/projects/iot/hua_oceanconnect_adapter.rb +25 -24
- data/lib/imperituroard/projects/mhub.rb +3 -2
- data/lib/imperituroard/projects/mhub/gms.rb +96 -0
- data/lib/imperituroard/projects/mhub/subs/evrotorg/gms_connector.rb +69 -0
- data/lib/imperituroard/version.rb +1 -1
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 629626efbfcfa0108c2b1646a42d25856e6f3135
|
4
|
+
data.tar.gz: 8a3a7f5357873aa432d9058a2a54d933e6177c7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 61e4e034d6b705161bc67e7c270406cbb62a0306ca18c17a619b04b6cf78af4bd802c0f59517e5856101ec75be031be38086872e68893de159412ef241aaaf53
|
7
|
+
data.tar.gz: 87151a1bbfa092b6d77fef7279cf114446dba7540ca949b897cad0a8f77270afe3833d7d49678f7e46476fb144be849a805d2bc493c2c625b3a185630f1e96ad
|
data/imperituroard.gemspec
CHANGED
data/lib/imperituroard.rb
CHANGED
@@ -25,6 +25,7 @@ require 'imperituroard/projects/dns'
|
|
25
25
|
require 'imperituroard/platforms/cps/qps_connector'
|
26
26
|
require 'imperituroard/platforms/public/telegram'
|
27
27
|
require 'imperituroard/projects/ukaz60'
|
28
|
+
require 'imperituroard/projects/mhub/gms'
|
28
29
|
|
29
30
|
require 'json'
|
30
31
|
require 'ipaddr'
|
@@ -345,6 +346,26 @@ class Mhub_2
|
|
345
346
|
end
|
346
347
|
|
347
348
|
|
349
|
+
#2020.09.02 function for some procedure for get message status
|
350
|
+
class GmsFunctions_2
|
351
|
+
|
352
|
+
attr_accessor :gms_func
|
353
|
+
|
354
|
+
def initialize(gms_t_login, gms_t_password, gms_r_login, gms_r_password, telegram_api_url, telegram_chat_id)
|
355
|
+
@gms_func = Gmsgms_2.new(gms_t_login, gms_t_password, gms_r_login, gms_r_password, telegram_api_url, telegram_chat_id)
|
356
|
+
end
|
357
|
+
|
358
|
+
def get_t_status_external(external_id)
|
359
|
+
gms_func.get_t_status_external_2(external_id)
|
360
|
+
end
|
361
|
+
|
362
|
+
def get_r_status_external(external_id)
|
363
|
+
gms_func.get_r_status_external_2(external_id)
|
364
|
+
end
|
365
|
+
|
366
|
+
end
|
367
|
+
|
368
|
+
|
348
369
|
class CpsFunctions_2
|
349
370
|
|
350
371
|
attr_accessor :qps_connector
|
@@ -1427,6 +1427,6 @@ class IotFunctions_2
|
|
1427
1427
|
p "yyyyy"
|
1428
1428
|
|
1429
1429
|
#fff = HuaIot.new("134.17.93.4", "443", "/Users/imperituroard/Desktop/cert.crt", "/Users/imperituroard/Desktop/key.pem")
|
1430
|
-
p hua_aceanconnect_connector.querying_device_id("Jy5KpoBUOScZEcrO2bRZhzfaIOUa", "VFFWTOb9k3_cQhzrGsRWT4HE8Z0a", "
|
1430
|
+
p hua_aceanconnect_connector.querying_device_id("Jy5KpoBUOScZEcrO2bRZhzfaIOUa", "VFFWTOb9k3_cQhzrGsRWT4HE8Z0a", "123412341284999")
|
1431
1431
|
end
|
1432
1432
|
end
|
@@ -82,6 +82,7 @@ class HuaIot
|
|
82
82
|
request.content_type = 'application/x-www-form-urlencoded'
|
83
83
|
request.body = URI.encode_www_form(data)
|
84
84
|
res = https.request(request)
|
85
|
+
p "get_token"
|
85
86
|
p res.code
|
86
87
|
p res.message
|
87
88
|
p res.body.to_s
|
@@ -293,30 +294,30 @@ class HuaIot
|
|
293
294
|
|
294
295
|
#2.2.44 Querying the Device ID
|
295
296
|
def querying_device_id(app_id, secret, node_id)
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
297
|
+
get_token_data = get_token(app_id, secret)
|
298
|
+
if get_token_data[:code]=="200"
|
299
|
+
token = get_token_data[:body]["accessToken"]
|
300
|
+
uri1 = URI("https://134.17.93.4:8743/iocm/app/dm/v1.1.0/queryDeviceIdByNodeId?nodeId=" + node_id + "&" + app_id)
|
301
|
+
https = Net::HTTP.new(uri1.host, uri1.port)
|
302
|
+
https.use_ssl = true
|
303
|
+
https.cert = OpenSSL::X509::Certificate.new(File.read(cert_file))
|
304
|
+
https.key = OpenSSL::PKey::RSA.new(File.read(key_file))
|
305
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
306
|
+
request = Net::HTTP::Get.new(uri1)
|
307
|
+
request.content_type = 'application/json'
|
308
|
+
request['app_key'] = app_id
|
309
|
+
request['Authorization'] = 'Bearer ' + token
|
310
|
+
#request.set_form_data( params )
|
311
|
+
#request['node-id'] = node_id
|
312
|
+
bbb = {"nodeId": node_id, "appId": "Jy5KpoBUOScZEcrO2bRZhzfaIOUa"}.to_json
|
313
|
+
#request.body = bbb
|
314
|
+
res = https.request(request)
|
315
|
+
#p res.body.to_s
|
316
|
+
#p res.code
|
317
|
+
{:code => res.code, :message => res.message, :body => valid_json?(res.body.to_s)}
|
318
|
+
else
|
319
|
+
{:code => "500", :message => "Something wrong", :body => {}}
|
320
|
+
end
|
320
321
|
end
|
321
322
|
|
322
323
|
#2.2.14 Querying Device Activation Status
|
@@ -0,0 +1,96 @@
|
|
1
|
+
require 'imperituroard/projects/mhub/subs/evrotorg/gms_connector'
|
2
|
+
|
3
|
+
|
4
|
+
class Gmsgms_2
|
5
|
+
|
6
|
+
attr_accessor :gms_t_login, :gms_t_password, :gms_r_login, :gms_r_password, :gms_t_connector, :gms_r_connector
|
7
|
+
|
8
|
+
|
9
|
+
def initialize(gms_t_login, gms_t_password, gms_r_login, gms_r_password, telegram_api_url, telegram_chat_id)
|
10
|
+
@gms_t_login = gms_t_login
|
11
|
+
@gms_t_password = gms_t_password
|
12
|
+
@gms_r_login = gms_r_login
|
13
|
+
@gms_r_password = gms_r_password
|
14
|
+
|
15
|
+
@gms_t_connector = Gms_2.new(gms_t_login, gms_t_password, telegram_api_url, telegram_chat_id)
|
16
|
+
@gms_r_connector = Gms_2.new(gms_r_login, gms_r_password, telegram_api_url, telegram_chat_id)
|
17
|
+
|
18
|
+
@internal_func = InternalFunc.new
|
19
|
+
@telegram_connector = Telegram_2.new(telegram_api_url, telegram_chat_id)
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
def gms_parsing(gms_answer)
|
24
|
+
output = {}
|
25
|
+
|
26
|
+
status_dic = {
|
27
|
+
12033 => "Sent to Viber",
|
28
|
+
36013 => "Viber internal failure",
|
29
|
+
36023 => "Viber invalid service id",
|
30
|
+
36033 => "Viber invalid data",
|
31
|
+
36043 => "Viber blocked message type",
|
32
|
+
36053 => "Viber bad message type",
|
33
|
+
36063 => "Viber bad parameters",
|
34
|
+
36073 => "Viber timeout",
|
35
|
+
36083 => "Viber user blocked",
|
36
|
+
36093 => "Viber not viber user",
|
37
|
+
36103 => "Viber no suitable device",
|
38
|
+
36113 => "Viber unauthorized ip",
|
39
|
+
36123 => "Viber already sent",
|
40
|
+
36133 => "Viber not permitted",
|
41
|
+
36143 => "Viber billing failure",
|
42
|
+
36153 => "Viber word in black list",
|
43
|
+
36163 => "Viber internal process error",
|
44
|
+
36173 => "Viber wrong or missing Label",
|
45
|
+
36183 => "Viber invalid TTL value",
|
46
|
+
23033 => "Viber delivered",
|
47
|
+
35015 => "Viber expired",
|
48
|
+
24013 => "Viber delivered(seen)",
|
49
|
+
28013 => "Viber delivered(overdue)",
|
50
|
+
-1 => "in progress"
|
51
|
+
}
|
52
|
+
|
53
|
+
if gms_answer[:code] == 200
|
54
|
+
dt1 = gms_answer[:body][:res_body]["reports"][0]
|
55
|
+
hyber_status = dt1["hyber_status"]
|
56
|
+
output = {:code => 200, :result => "Processed", :body => {"status_code": hyber_status, "status": status_dic[hyber_status], "phone_number": dt1["phone_number"], "message_id": dt1["extra_id"]}}
|
57
|
+
elsif gms_answer[:code] == 404
|
58
|
+
output = {:code => 404, :result => "Not found", :body => {"status_code": "", "status": "", "phone_number": "", "message_id": gms_answer[:body][:request_message][:external_id]}}
|
59
|
+
else
|
60
|
+
output = {:code => gms_answer[:code], :result => gms_answer[:result], :body => {"status_code": "", "status": "", "phone_number": "", "message_id": gms_answer[:body][:request_message][:external_id]}}
|
61
|
+
end
|
62
|
+
output
|
63
|
+
end
|
64
|
+
|
65
|
+
|
66
|
+
def get_t_status_external_2(external_id)
|
67
|
+
output = {}
|
68
|
+
begin
|
69
|
+
ans = gms_t_connector.get_advanced_by_external(external_id)
|
70
|
+
parsed = gms_parsing(ans)
|
71
|
+
output = {:gms_answer => ans, :parsed_answer => parsed}
|
72
|
+
rescue
|
73
|
+
pars = {:code => "505", :result => "Failed", :body => {"status_code": "", "status": "", "phone_number": "", "message_id": ""}}
|
74
|
+
output = {:gms_answer => ans, :parsed_answer => pars}
|
75
|
+
end
|
76
|
+
output
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
def get_r_status_external_2(external_id)
|
81
|
+
output = {}
|
82
|
+
begin
|
83
|
+
ans = gms_r_connector.get_advanced_by_external(external_id)
|
84
|
+
parsed = gms_parsing(ans)
|
85
|
+
output = {:gms_answer => ans, :parsed_answer => parsed}
|
86
|
+
rescue
|
87
|
+
pars = {:code => "505", :result => "Failed", :body => {"status_code": "", "status": "", "phone_number": "", "message_id": ""}}
|
88
|
+
output = {:gms_answer => ans, :parsed_answer => pars}
|
89
|
+
end
|
90
|
+
output
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
|
95
|
+
|
96
|
+
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'net/https'
|
2
|
+
|
3
|
+
require 'json'
|
4
|
+
|
5
|
+
require 'uri'
|
6
|
+
require 'net/http'
|
7
|
+
require 'rubygems'
|
8
|
+
require 'nokogiri'
|
9
|
+
require 'rails'
|
10
|
+
|
11
|
+
require 'imperituroard/projects/iot/internal_functions'
|
12
|
+
|
13
|
+
|
14
|
+
class Gms_2
|
15
|
+
|
16
|
+
attr_accessor :gms_login, :gms_password, :telegram_connector, :internal_func
|
17
|
+
|
18
|
+
def initialize(gms_login, gms_password, telegram_api_url, telegram_chat_id)
|
19
|
+
@gms_login = gms_login
|
20
|
+
@gms_password = gms_password
|
21
|
+
@internal_func = InternalFunc.new
|
22
|
+
@telegram_connector = Telegram_2.new(telegram_api_url, telegram_chat_id)
|
23
|
+
end
|
24
|
+
|
25
|
+
def get_advanced_by_external(external_id)
|
26
|
+
|
27
|
+
input_params = {:external_id => external_id}
|
28
|
+
output_params = {}
|
29
|
+
thr1_get_advanced_by_external = Thread.new do
|
30
|
+
begin
|
31
|
+
uri = URI("https://dr-v2.hyber.im/2160/api/dr/external/" + external_id + "/advanced")
|
32
|
+
https = Net::HTTP.new(uri.host, uri.port)
|
33
|
+
https.use_ssl = true
|
34
|
+
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
35
|
+
req = Net::HTTP::Get.new(uri.path, initheader = {:"Content-Type" => 'application/json'})
|
36
|
+
req.basic_auth gms_login, gms_password
|
37
|
+
req["Content-Type"] = "application/json"
|
38
|
+
res = https.request(req)
|
39
|
+
|
40
|
+
p res.code
|
41
|
+
p res.body
|
42
|
+
if res.code == "200"
|
43
|
+
output_params = {:code => 200,
|
44
|
+
:result => "Gms_2.get_advanced_by_external: Request processed",
|
45
|
+
:body => {:request_message => input_params,
|
46
|
+
:res_code => res.code,
|
47
|
+
:res_body => JSON.parse(res.body.to_s)}}
|
48
|
+
else
|
49
|
+
output_params = {:code => res.code.to_i,
|
50
|
+
:result => "Gms_2.get_advanced_by_external: Request processed",
|
51
|
+
:body => {:request_message => input_params,
|
52
|
+
:res_code => res.code,
|
53
|
+
:res_body => res.body.to_s}}
|
54
|
+
end
|
55
|
+
rescue
|
56
|
+
output_params = {:code => 500, :result => "Gms_2.get_advanced_by_external: Something wrong", :body => {:request_message => input_params}}
|
57
|
+
end
|
58
|
+
end
|
59
|
+
thr1_get_advanced_by_external.join
|
60
|
+
|
61
|
+
internal_func.printer_texter({:input => input_params, :output => output_params, :procedure => "Gms_2.get_advanced_by_external"}, "debug")
|
62
|
+
output_params
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: imperituroard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dzmitry Buynovskiy
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -222,10 +222,12 @@ files:
|
|
222
222
|
- lib/imperituroard/projects/iot/internal_functions.rb
|
223
223
|
- lib/imperituroard/projects/iot/mongoconnector.rb
|
224
224
|
- lib/imperituroard/projects/mhub.rb
|
225
|
+
- lib/imperituroard/projects/mhub/gms.rb
|
225
226
|
- lib/imperituroard/projects/mhub/infobip.rb
|
226
227
|
- lib/imperituroard/projects/mhub/sk.rb
|
227
228
|
- lib/imperituroard/projects/mhub/subs/dabrab/dabrab_platform.rb
|
228
229
|
- lib/imperituroard/projects/mhub/subs/dabrab/dabrab_proced.rb
|
230
|
+
- lib/imperituroard/projects/mhub/subs/evrotorg/gms_connector.rb
|
229
231
|
- lib/imperituroard/projects/ukaz60.rb
|
230
232
|
- lib/imperituroard/projects/ukaz60/belgim.rb
|
231
233
|
- lib/imperituroard/projects/ukaz60/dns.rb
|
@@ -245,7 +247,7 @@ metadata:
|
|
245
247
|
homepage_uri: https://rubygems.org/
|
246
248
|
source_code_uri: https://github.com/imperituroard/imperituroard
|
247
249
|
changelog_uri: https://rubygems.org/
|
248
|
-
post_install_message:
|
250
|
+
post_install_message:
|
249
251
|
rdoc_options: []
|
250
252
|
require_paths:
|
251
253
|
- lib
|
@@ -260,9 +262,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
260
262
|
- !ruby/object:Gem::Version
|
261
263
|
version: '0'
|
262
264
|
requirements: []
|
263
|
-
rubyforge_project:
|
265
|
+
rubyforge_project:
|
264
266
|
rubygems_version: 2.6.14
|
265
|
-
signing_key:
|
267
|
+
signing_key:
|
266
268
|
specification_version: 4
|
267
269
|
summary: imperituroard gem
|
268
270
|
test_files: []
|