imperituroard 1.1.17 → 1.1.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/lib/imperituroard.rb +3 -2
- data/lib/imperituroard/add_functions/logger/any_functions.rb +1 -1
- data/lib/imperituroard/platforms/cps/cps_mongo_connector.rb +394 -0
- data/lib/imperituroard/platforms/cps/qps_connector.rb +63 -0
- data/lib/imperituroard/platforms/iwag/iwag_database_worker.rb +1 -1
- data/lib/imperituroard/platforms/iwag/iwag_telnet_connector.rb +9 -9
- data/lib/imperituroard/projects/iot.rb +12 -0
- data/lib/imperituroard/projects/iot/add_functions.rb +3 -3
- data/lib/imperituroard/projects/iot/hua_oceanconnect_adapter.rb +6 -6
- data/lib/imperituroard/projects/iot/internal_functions.rb +5 -5
- data/lib/imperituroard/projects/iot/mongoconnector.rb +25 -0
- data/lib/imperituroard/projects/mhub/gms.rb +29 -29
- data/lib/imperituroard/projects/oats/fttx_acl/add_acl_fttx.rb +187 -0
- data/lib/imperituroard/projects/ukaz60/belgim.rb +3 -2
- data/lib/imperituroard/projects/ukaz60/ukaz60_add_func.rb +15 -13
- data/lib/imperituroard/projects/wttx/phpipamcps.rb +29 -28
- data/lib/imperituroard/projects/wttx/updatepostcps.rb +2 -2
- data/lib/imperituroard/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c33a43a67fc96768e51fb1a612372b67bb6d27d
|
4
|
+
data.tar.gz: 2c15329e9f493ef186d9ae0955e4d2c552bf7ebd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 963dc4dbffee66e2822d4a58bc2603dd4183480066beb9e7828b7426f502b28894decaf56a759d1addf0e6a1bcb0fd1960a341c35cec857772d9158807b6d0f0
|
7
|
+
data.tar.gz: 3d099c234e11fd1b2d3cc995b767225da3a27c9edaf9f6a08ff9b768099927dfc117da499c14c017de2127cfabcffe7cb4da009c13cd4fe22cd9f066b941c279
|
data/.gitignore
CHANGED
data/lib/imperituroard.rb
CHANGED
@@ -38,7 +38,7 @@ module Imperituroard
|
|
38
38
|
class Error < StandardError;
|
39
39
|
end
|
40
40
|
|
41
|
-
def initialize
|
41
|
+
def initialize
|
42
42
|
end
|
43
43
|
|
44
44
|
def hhh(jjj)
|
@@ -270,7 +270,7 @@ class Iot
|
|
270
270
|
iot_connector.set_data_replace_2(soapgw_params, real_ip, remote_ip)
|
271
271
|
end
|
272
272
|
|
273
|
-
#
|
273
|
+
#15 integration with SPA
|
274
274
|
# add imei to correct profile
|
275
275
|
def spa_service_set(soapgw_params, real_ip, remote_ip)
|
276
276
|
#imei
|
@@ -279,6 +279,7 @@ class Iot
|
|
279
279
|
#unp
|
280
280
|
#note
|
281
281
|
#descriptiot
|
282
|
+
iot_connector.spa_service_set_2(soapgw_params, real_ip, remote_ip)
|
282
283
|
end
|
283
284
|
|
284
285
|
|
@@ -0,0 +1,394 @@
|
|
1
|
+
require 'mongo'
|
2
|
+
|
3
|
+
class MongoCPS_2
|
4
|
+
|
5
|
+
attr_accessor :mongo_ip, :mongo_port, :client, :mongo_database, :internal_func, :subs_collection
|
6
|
+
|
7
|
+
def initialize(mongo_ip, mongo_port, mongo_database)
|
8
|
+
@mongo_database = mongo_database
|
9
|
+
@mongo_ip = mongo_ip
|
10
|
+
@mongo_port = mongo_port
|
11
|
+
client_host = [mongo_ip + ":" + mongo_port]
|
12
|
+
@client = Mongo::Client.new(client_host, :database => mongo_database, :server_selection_timeout => 5)
|
13
|
+
@subs_collection = client[:subscriber]
|
14
|
+
end
|
15
|
+
|
16
|
+
def get_minsk_fttx_fizlic
|
17
|
+
answ_res_msisdn = []
|
18
|
+
req_json = {"$and": [{"avps_key.code_key": {"$not": /IN-ACL/}}, {"credentials_key.network_id_key": {"$in": [/ Min/, /Minsk/]}}, {"$or": [{"services_key.code_key": "FR12083"}, {"services_key.code_key": "FR7967"}, {"services_key.code_key": "FR7241"}, {"services_key.code_key": "FR7242"}, {"services_key.code_key": "FR7243"}, {"services_key.code_key": "FR7244"}, {"services_key.code_key": "FR9749"}, {"services_key.code_key": "FR9750"}, {"services_key.code_key": "FR9751"}, {"services_key.code_key": "FR9752"}, {"services_key.code_key": "FR11885"}, {"services_key.code_key": "FR14994"}, {"services_key.code_key": "FR15506"}, {"services_key.code_key": "FR17303"}, {"services_key.code_key": "FR11484"}]}, {"credentials_key.network_id_key": {"$not": /375\d+VL/}}]}
|
19
|
+
subs_collection.find(req_json).each {|row|
|
20
|
+
msisdn = ""
|
21
|
+
username = ""
|
22
|
+
row['credentials_key'].each {|cred|
|
23
|
+
if cred['network_id_key'][/37500\d{7}/]
|
24
|
+
msisdn = cred['network_id_key']
|
25
|
+
else
|
26
|
+
username = cred['network_id_key']
|
27
|
+
end
|
28
|
+
}
|
29
|
+
if msisdn != '' && username != ''
|
30
|
+
answ_res_msisdn.push(msisdn + ';' + username)
|
31
|
+
end
|
32
|
+
}
|
33
|
+
answ_res_msisdn
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
def get_minsk_fttx_zone2
|
38
|
+
answ_res_msisdn = []
|
39
|
+
req_json = {'$and': [{'avps_key.code_key':
|
40
|
+
{'$not': /IN-ACL/}},
|
41
|
+
{'credentials_key.network_id_key':
|
42
|
+
{'$in':
|
43
|
+
[/Min_Nezavisimosti_164/,
|
44
|
+
/Min_Nezavisimosti_181/,
|
45
|
+
/Min_Nezavisimosti_183/,
|
46
|
+
/Min_Nezavisimosti_185/,
|
47
|
+
/Min_Nezavisimosti_42/,
|
48
|
+
/Min_Nezavisimosti_40/,
|
49
|
+
/Min_Nezavisimosti_60/,
|
50
|
+
/Min_Nezavisimosti_44/,
|
51
|
+
/Min_Nezavisimosti_52/,
|
52
|
+
/Min_Nezavisimosti_46/,
|
53
|
+
/Min_Nezavisimosti_48/,
|
54
|
+
/Min_Surganova_52/,
|
55
|
+
/Min_Surganova_64/,
|
56
|
+
/Min_Surganova_76/,
|
57
|
+
/Min_Bogdanovicha_108/,
|
58
|
+
/Min_Bogdanovicha_116/,
|
59
|
+
/Min_Bogdanovicha_114/,
|
60
|
+
/Min_Prityckogo_160/,
|
61
|
+
/Min_Kropotkina_47/,
|
62
|
+
/Storozhevskaya_8/,
|
63
|
+
/Min_Kozlova_2/,
|
64
|
+
/Min_Kozlova_4/,
|
65
|
+
/Min_Kozlova_6/,
|
66
|
+
/Min_Kozlova_5/,
|
67
|
+
/Min_Kozlova_7/,
|
68
|
+
/Min_Kozlova_9/,
|
69
|
+
/Min_Bjaduli_3/,
|
70
|
+
/Min_Bjaduli_5/,
|
71
|
+
/Min_Bjaduli_6/,
|
72
|
+
/Min_Bjaduli_8/,
|
73
|
+
/Min_Bjaduli_12/,
|
74
|
+
/Min_Pervomajskaja_15/,
|
75
|
+
/Min_Pervomajskaja_17/,
|
76
|
+
/Min_Zaharova_19/,
|
77
|
+
/Min_Zaharova_23/,
|
78
|
+
/Min_Zaharova_25/,
|
79
|
+
/Min_Zaharova_27/,
|
80
|
+
/Min_Zaharova_29/,
|
81
|
+
/Min_Zaharova_33/,
|
82
|
+
/Min_Bronevoj_12/,
|
83
|
+
/Min_Bronevoj_13/,
|
84
|
+
/Min_Vojskovoj_10/,
|
85
|
+
/Min_Vojskovoj_13/,
|
86
|
+
/Min_Vojskovoj_14/,
|
87
|
+
/Min_Vojskovoj_15/,
|
88
|
+
/Min_Rumjanceva_13/,
|
89
|
+
/Min_Rumjanceva_14/,
|
90
|
+
/Min_Rumjanceva_15/,
|
91
|
+
/Min_Rumjanceva_17/]}},
|
92
|
+
{'$or': [{'services_key.code_key': 'FR12083'},
|
93
|
+
{'services_key.code_key': 'FR7967'},
|
94
|
+
{'services_key.code_key': 'FR7241'},
|
95
|
+
{'services_key.code_key': 'FR7242'},
|
96
|
+
{'services_key.code_key': 'FR7243'},
|
97
|
+
{'services_key.code_key': 'FR7244'},
|
98
|
+
{'services_key.code_key': 'FR9749'},
|
99
|
+
{'services_key.code_key': 'FR9750'},
|
100
|
+
{'services_key.code_key': 'FR9751'},
|
101
|
+
{'services_key.code_key': 'FR9752'},
|
102
|
+
{'services_key.code_key': 'FR11885'},
|
103
|
+
{'services_key.code_key': 'FR14994'},
|
104
|
+
{'services_key.code_key': 'FR15506'},
|
105
|
+
{'services_key.code_key': 'FR17303'},
|
106
|
+
{'services_key.code_key': 'FR11484'}]},
|
107
|
+
{'credentials_key.network_id_key': {'$not': /375\d+VL/}}]}
|
108
|
+
subs_collection.find(req_json).each {|row|
|
109
|
+
msisdn = ''
|
110
|
+
username = ''
|
111
|
+
row['credentials_key'].each {|cred|
|
112
|
+
if cred['network_id_key'][/37500\d{7}/]
|
113
|
+
msisdn = cred['network_id_key']
|
114
|
+
else
|
115
|
+
username = cred['network_id_key']
|
116
|
+
end
|
117
|
+
}
|
118
|
+
if msisdn != '' && username != ''
|
119
|
+
answ_res_msisdn.push(msisdn + ';' + username)
|
120
|
+
end
|
121
|
+
}
|
122
|
+
answ_res_msisdn
|
123
|
+
end
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
def get_minsk_fttx_zone3_rokos
|
128
|
+
answ_res_msisdn = []
|
129
|
+
req_json = {'$and': [{'avps_key.code_key':
|
130
|
+
{'$not': /IN-ACL/}},
|
131
|
+
{'credentials_key.network_id_key':
|
132
|
+
{'$in':
|
133
|
+
[/Rokossovskogo_81/]}},
|
134
|
+
{'$or': [{'services_key.code_key': 'FR12083'},
|
135
|
+
{'services_key.code_key': 'FR7967'},
|
136
|
+
{'services_key.code_key': 'FR7241'},
|
137
|
+
{'services_key.code_key': 'FR7242'},
|
138
|
+
{'services_key.code_key': 'FR7243'},
|
139
|
+
{'services_key.code_key': 'FR7244'},
|
140
|
+
{'services_key.code_key': 'FR9749'},
|
141
|
+
{'services_key.code_key': 'FR9750'},
|
142
|
+
{'services_key.code_key': 'FR9751'},
|
143
|
+
{'services_key.code_key': 'FR9752'},
|
144
|
+
{'services_key.code_key': 'FR11885'},
|
145
|
+
{'services_key.code_key': 'FR14994'},
|
146
|
+
{'services_key.code_key': 'FR15506'},
|
147
|
+
{'services_key.code_key': 'FR17303'},
|
148
|
+
{'services_key.code_key': 'FR11484'}]},
|
149
|
+
{'credentials_key.network_id_key': {'$not': /375\d+VL/}}]}
|
150
|
+
subs_collection.find(req_json).each {|row|
|
151
|
+
msisdn = ''
|
152
|
+
username = ''
|
153
|
+
row['credentials_key'].each {|cred|
|
154
|
+
if cred['network_id_key'][/37500\d{7}/]
|
155
|
+
msisdn = cred['network_id_key']
|
156
|
+
else
|
157
|
+
username = cred['network_id_key']
|
158
|
+
end
|
159
|
+
}
|
160
|
+
if msisdn != '' && username != ''
|
161
|
+
answ_res_msisdn.push(msisdn + ';' + username)
|
162
|
+
end
|
163
|
+
}
|
164
|
+
answ_res_msisdn
|
165
|
+
end
|
166
|
+
|
167
|
+
|
168
|
+
def get_minsk_fttx_zone4_mega
|
169
|
+
answ_res_msisdn = []
|
170
|
+
req_json = {'$and': [{'avps_key.code_key':
|
171
|
+
{'$not': /IN-ACL/}},
|
172
|
+
{'credentials_key.network_id_key':
|
173
|
+
{'$in':
|
174
|
+
[/Min_Dzerzhinskogo_131/]}},
|
175
|
+
{'$or': [{'services_key.code_key': 'FR12083'},
|
176
|
+
{'services_key.code_key': 'FR7967'},
|
177
|
+
{'services_key.code_key': 'FR7241'},
|
178
|
+
{'services_key.code_key': 'FR7242'},
|
179
|
+
{'services_key.code_key': 'FR7243'},
|
180
|
+
{'services_key.code_key': 'FR7244'},
|
181
|
+
{'services_key.code_key': 'FR9749'},
|
182
|
+
{'services_key.code_key': 'FR9750'},
|
183
|
+
{'services_key.code_key': 'FR9751'},
|
184
|
+
{'services_key.code_key': 'FR9752'},
|
185
|
+
{'services_key.code_key': 'FR11885'},
|
186
|
+
{'services_key.code_key': 'FR14994'},
|
187
|
+
{'services_key.code_key': 'FR15506'},
|
188
|
+
{'services_key.code_key': 'FR17303'},
|
189
|
+
{'services_key.code_key': 'FR11484'}]},
|
190
|
+
{'credentials_key.network_id_key': {'$not': /375\d+VL/}}]}
|
191
|
+
subs_collection.find(req_json).each {|row|
|
192
|
+
msisdn = ''
|
193
|
+
username = ''
|
194
|
+
row['credentials_key'].each {|cred|
|
195
|
+
if cred['network_id_key'][/37500\d{7}/]
|
196
|
+
msisdn = cred['network_id_key']
|
197
|
+
else
|
198
|
+
username = cred['network_id_key']
|
199
|
+
end
|
200
|
+
}
|
201
|
+
if msisdn != '' && username != ''
|
202
|
+
answ_res_msisdn.push(msisdn + ';' + username)
|
203
|
+
end
|
204
|
+
}
|
205
|
+
answ_res_msisdn
|
206
|
+
end
|
207
|
+
|
208
|
+
|
209
|
+
def get_minsk_fttx_zone5_koles
|
210
|
+
answ_res_msisdn = []
|
211
|
+
req_json = {'$and': [{'avps_key.code_key':
|
212
|
+
{'$not': /IN-ACL/}},
|
213
|
+
{'credentials_key.network_id_key':
|
214
|
+
{'$in':
|
215
|
+
[/Min_Kolesnikova_16/,
|
216
|
+
/Min_Kolesnikova_20/]}},
|
217
|
+
{'$or': [{'services_key.code_key': 'FR12083'},
|
218
|
+
{'services_key.code_key': 'FR7967'},
|
219
|
+
{'services_key.code_key': 'FR7241'},
|
220
|
+
{'services_key.code_key': 'FR7242'},
|
221
|
+
{'services_key.code_key': 'FR7243'},
|
222
|
+
{'services_key.code_key': 'FR7244'},
|
223
|
+
{'services_key.code_key': 'FR9749'},
|
224
|
+
{'services_key.code_key': 'FR9750'},
|
225
|
+
{'services_key.code_key': 'FR9751'},
|
226
|
+
{'services_key.code_key': 'FR9752'},
|
227
|
+
{'services_key.code_key': 'FR11885'},
|
228
|
+
{'services_key.code_key': 'FR14994'},
|
229
|
+
{'services_key.code_key': 'FR15506'},
|
230
|
+
{'services_key.code_key': 'FR17303'},
|
231
|
+
{'services_key.code_key': 'FR11484'}]},
|
232
|
+
{'credentials_key.network_id_key': {'$not': /375\d+VL/}}]}
|
233
|
+
subs_collection.find(req_json).each {|row|
|
234
|
+
msisdn = ''
|
235
|
+
username = ''
|
236
|
+
row['credentials_key'].each {|cred|
|
237
|
+
if cred['network_id_key'][/37500\d{7}/]
|
238
|
+
msisdn = cred['network_id_key']
|
239
|
+
else
|
240
|
+
username = cred['network_id_key']
|
241
|
+
end
|
242
|
+
}
|
243
|
+
if msisdn != '' && username != ''
|
244
|
+
answ_res_msisdn.push(msisdn + ';' + username)
|
245
|
+
end
|
246
|
+
}
|
247
|
+
answ_res_msisdn
|
248
|
+
end
|
249
|
+
|
250
|
+
|
251
|
+
def get_minsk_fttx_zone6_all
|
252
|
+
answ_res_msisdn = []
|
253
|
+
req_json = {'$and': [{'avps_key.code_key':
|
254
|
+
{'$not': /IN-ACL/}},
|
255
|
+
{'credentials_key.network_id_key':
|
256
|
+
{'$in':
|
257
|
+
[/Min_Nezavisimosti_164/,
|
258
|
+
/Min_Nezavisimosti_181/,
|
259
|
+
/Min_Nezavisimosti_183/,
|
260
|
+
/Min_Nezavisimosti_185/,
|
261
|
+
/Min_Nezavisimosti_42/,
|
262
|
+
/Min_Nezavisimosti_40/,
|
263
|
+
/Min_Nezavisimosti_60/,
|
264
|
+
/Min_Nezavisimosti_44/,
|
265
|
+
/Min_Nezavisimosti_52/,
|
266
|
+
/Min_Nezavisimosti_46/,
|
267
|
+
/Min_Nezavisimosti_48/,
|
268
|
+
/Min_Surganova_52/,
|
269
|
+
/Min_Surganova_64/,
|
270
|
+
/Min_Surganova_76/,
|
271
|
+
/Min_Bogdanovicha_108/,
|
272
|
+
/Min_Bogdanovicha_116/,
|
273
|
+
/Min_Bogdanovicha_114/,
|
274
|
+
/Min_Prityckogo_160/,
|
275
|
+
/Min_Kropotkina_47/,
|
276
|
+
/Storozhevskaya_8/,
|
277
|
+
/Min_Kozlova_2/,
|
278
|
+
/Min_Kozlova_4/,
|
279
|
+
/Min_Kozlova_6/,
|
280
|
+
/Min_Kozlova_5/,
|
281
|
+
/Min_Kozlova_7/,
|
282
|
+
/Min_Kozlova_9/,
|
283
|
+
/Min_Bjaduli_3/,
|
284
|
+
/Min_Bjaduli_5/,
|
285
|
+
/Min_Bjaduli_6/,
|
286
|
+
/Min_Bjaduli_8/,
|
287
|
+
/Min_Bjaduli_12/,
|
288
|
+
/Min_Pervomajskaja_15/,
|
289
|
+
/Min_Pervomajskaja_17/,
|
290
|
+
/Min_Zaharova_19/,
|
291
|
+
/Min_Zaharova_23/,
|
292
|
+
/Min_Zaharova_25/,
|
293
|
+
/Min_Zaharova_27/,
|
294
|
+
/Min_Zaharova_29/,
|
295
|
+
/Min_Zaharova_33/,
|
296
|
+
/Min_Bronevoj_12/,
|
297
|
+
/Min_Bronevoj_13/,
|
298
|
+
/Min_Vojskovoj_10/,
|
299
|
+
/Min_Vojskovoj_13/,
|
300
|
+
/Min_Vojskovoj_14/,
|
301
|
+
/Min_Vojskovoj_15/,
|
302
|
+
/Min_Rumjanceva_13/,
|
303
|
+
/Min_Rumjanceva_14/,
|
304
|
+
/Min_Rumjanceva_15/,
|
305
|
+
/Min_Rumjanceva_17/,
|
306
|
+
/Rokossovskogo_81/,
|
307
|
+
/Min_Dzerzhinskogo_131/,
|
308
|
+
/Min_Kolesnikova_16/,
|
309
|
+
/Min_Kolesnikova_20/]}},
|
310
|
+
{'$or': [{'services_key.code_key': 'FR12083'},
|
311
|
+
{'services_key.code_key': 'FR7967'},
|
312
|
+
{'services_key.code_key': 'FR7241'},
|
313
|
+
{'services_key.code_key': 'FR7242'},
|
314
|
+
{'services_key.code_key': 'FR7243'},
|
315
|
+
{'services_key.code_key': 'FR7244'},
|
316
|
+
{'services_key.code_key': 'FR9749'},
|
317
|
+
{'services_key.code_key': 'FR9750'},
|
318
|
+
{'services_key.code_key': 'FR9751'},
|
319
|
+
{'services_key.code_key': 'FR9752'},
|
320
|
+
{'services_key.code_key': 'FR11885'},
|
321
|
+
{'services_key.code_key': 'FR14994'},
|
322
|
+
{'services_key.code_key': 'FR15506'},
|
323
|
+
{'services_key.code_key': 'FR17303'},
|
324
|
+
{'services_key.code_key': 'FR11484'}]},
|
325
|
+
{'credentials_key.network_id_key': {'$not': /375\d+VL/}}]}
|
326
|
+
subs_collection.find(req_json).each {|row|
|
327
|
+
msisdn = ''
|
328
|
+
username = ''
|
329
|
+
row['credentials_key'].each {|cred|
|
330
|
+
if cred['network_id_key'][/37500\d{7}/]
|
331
|
+
msisdn = cred['network_id_key']
|
332
|
+
else
|
333
|
+
username = cred['network_id_key']
|
334
|
+
end
|
335
|
+
}
|
336
|
+
if msisdn != '' && username != ''
|
337
|
+
answ_res_msisdn.push(msisdn + ';' + username)
|
338
|
+
end
|
339
|
+
}
|
340
|
+
answ_res_msisdn
|
341
|
+
end
|
342
|
+
|
343
|
+
|
344
|
+
def get_minsk_fttx_zone7_3last
|
345
|
+
answ_res_msisdn = []
|
346
|
+
req_json = {'$and': [{'avps_key.code_key':
|
347
|
+
{'$not': /IN-ACL/}},
|
348
|
+
{'credentials_key.network_id_key':
|
349
|
+
{'$in':
|
350
|
+
[/Rokossovskogo_81/,
|
351
|
+
/Min_Dzerzhinskogo_131/,
|
352
|
+
/Min_Kolesnikova_16/,
|
353
|
+
/Min_Kolesnikova_20/]}},
|
354
|
+
{'$or': [{'services_key.code_key': 'FR12083'},
|
355
|
+
{'services_key.code_key': 'FR7967'},
|
356
|
+
{'services_key.code_key': 'FR7241'},
|
357
|
+
{'services_key.code_key': 'FR7242'},
|
358
|
+
{'services_key.code_key': 'FR7243'},
|
359
|
+
{'services_key.code_key': 'FR7244'},
|
360
|
+
{'services_key.code_key': 'FR9749'},
|
361
|
+
{'services_key.code_key': 'FR9750'},
|
362
|
+
{'services_key.code_key': 'FR9751'},
|
363
|
+
{'services_key.code_key': 'FR9752'},
|
364
|
+
{'services_key.code_key': 'FR11885'},
|
365
|
+
{'services_key.code_key': 'FR14994'},
|
366
|
+
{'services_key.code_key': 'FR15506'},
|
367
|
+
{'services_key.code_key': 'FR17303'},
|
368
|
+
{'services_key.code_key': 'FR11484'}]},
|
369
|
+
{'credentials_key.network_id_key': {'$not': /375\d+VL/}}]}
|
370
|
+
subs_collection.find(req_json).each {|row|
|
371
|
+
msisdn = ''
|
372
|
+
username = ''
|
373
|
+
row['credentials_key'].each {|cred|
|
374
|
+
if cred['network_id_key'][/37500\d{7}/]
|
375
|
+
msisdn = cred['network_id_key']
|
376
|
+
else
|
377
|
+
username = cred['network_id_key']
|
378
|
+
end
|
379
|
+
}
|
380
|
+
if msisdn != '' && username != ''
|
381
|
+
answ_res_msisdn.push(msisdn + ';' + username)
|
382
|
+
end
|
383
|
+
}
|
384
|
+
answ_res_msisdn
|
385
|
+
end
|
386
|
+
|
387
|
+
def test
|
388
|
+
subs_collection.find({'credentials_key.network_id_key': '375001120416'}).each {|row|
|
389
|
+
p row
|
390
|
+
}
|
391
|
+
p 'ee'
|
392
|
+
end
|
393
|
+
end
|
394
|
+
|
@@ -42,4 +42,67 @@ class Qps_2
|
|
42
42
|
access_interface1 = response.to_hash #[:mts_wifi_portal_get_access_int_response][:accessinterface]
|
43
43
|
end
|
44
44
|
|
45
|
+
def add_avp_acl(username, acl)
|
46
|
+
message1 = {
|
47
|
+
:audit => {:id => "SOAPGW", :comment => "takih ne berut v kosmonavty"},
|
48
|
+
:networkId => username,
|
49
|
+
:newAvp => [
|
50
|
+
{:code =>"IN-ACL", :value => acl}
|
51
|
+
]
|
52
|
+
}
|
53
|
+
response = cps_connector_client.call(:change_subscriber_avps) do
|
54
|
+
message(message1)
|
55
|
+
end
|
56
|
+
response.to_hash
|
57
|
+
end
|
58
|
+
|
59
|
+
def delete_avp_acl(username)
|
60
|
+
mess = {
|
61
|
+
:audit => {:id => 'SOAPGW', :comment => 'some procedure'},
|
62
|
+
:networkId => username,
|
63
|
+
:deletedAvp => [
|
64
|
+
{:code => 'IN-ACL'}
|
65
|
+
]
|
66
|
+
}
|
67
|
+
response = cps_connector_client.call(:change_subscriber_avps) do
|
68
|
+
message(mess)
|
69
|
+
end
|
70
|
+
response.to_hash
|
71
|
+
end
|
72
|
+
|
73
|
+
def stop_session_username(username)
|
74
|
+
params = {
|
75
|
+
audit: { id: 'SOAPGW', comment: 'stop session procedure' },
|
76
|
+
key: {
|
77
|
+
code: 'UserIdKey',
|
78
|
+
primary: false,
|
79
|
+
key_field: { code: 'userId', value: username }
|
80
|
+
}
|
81
|
+
}
|
82
|
+
p params
|
83
|
+
xml = cps_connector_client.call(:stop_session) do
|
84
|
+
message(params)
|
85
|
+
end
|
86
|
+
code = xml.to_hash[:stop_session_response]
|
87
|
+
p code
|
88
|
+
end
|
89
|
+
|
90
|
+
def query_session_username(username)
|
91
|
+
params = {
|
92
|
+
audit: { id: 'SOAPGW', comment: 'query session procedure' },
|
93
|
+
key: {
|
94
|
+
code: 'UserIdKey',
|
95
|
+
primary: false,
|
96
|
+
key_field: { code: 'userId', value: username }
|
97
|
+
}
|
98
|
+
}
|
99
|
+
p params
|
100
|
+
xml = cps_connector_client.call(:query_session) do
|
101
|
+
message(params)
|
102
|
+
end
|
103
|
+
code = xml.to_hash[:query_session_response]
|
104
|
+
p code
|
105
|
+
end
|
106
|
+
|
45
107
|
end
|
108
|
+
|
@@ -19,7 +19,7 @@ class CSRtelnet_1
|
|
19
19
|
#begin
|
20
20
|
|
21
21
|
dump =""
|
22
|
-
connection = Net::Telnet.new( "Host" => iwag1_host, "Timeout" => false, "Prompt" =>
|
22
|
+
connection = Net::Telnet.new( "Host" => iwag1_host, "Timeout" => false, "Prompt" => /.*/ ) { |str| }
|
23
23
|
connection.login({ "Name" => iwag_username, "Password" => iwag_password, "LoginPrompt" => /Username:/ }) { |str| }
|
24
24
|
connection.cmd("show ip dhcp binding #{ipaddress}") {
|
25
25
|
|c|
|
@@ -33,7 +33,7 @@ class CSRtelnet_1
|
|
33
33
|
|
34
34
|
ma = reer[1].to_s.upcase
|
35
35
|
pos = ma[0]+ma[1]
|
36
|
-
if pos==
|
36
|
+
if pos == '01'
|
37
37
|
subscribers_mac = ma[2]+ma[3]+":"+ma[5]+ma[6]+":"+ma[7]+ma[8]+":"+ma[10]+ma[11]+":"+ma[12]+ma[13]+":"+ma[15]+ma[16]
|
38
38
|
else
|
39
39
|
subscribers_mac = ma[0]+ma[1]+":"+ma[2]+ma[3]+":"+ma[5]+ma[6]+":"+ma[7]+ma[8]+":"+ma[10]+ma[11]+":"+ma[12]+ma[13]
|
@@ -44,7 +44,7 @@ class CSRtelnet_1
|
|
44
44
|
# subscribers_mac = "unknown"
|
45
45
|
#end
|
46
46
|
|
47
|
-
|
47
|
+
subscribers_mac
|
48
48
|
|
49
49
|
end
|
50
50
|
|
@@ -69,7 +69,7 @@ class CSRtelnet_1
|
|
69
69
|
|
70
70
|
dump =""
|
71
71
|
begin
|
72
|
-
connection = Net::Telnet.new("Host" => host_iwag, "Timeout" => false, "Prompt" =>
|
72
|
+
connection = Net::Telnet.new("Host" => host_iwag, "Timeout" => false, "Prompt" => /.*/) {|str| print str}
|
73
73
|
connection.login({"Name" => username_iwag, "Password" => password_iwag, "LoginPrompt" => /Username:/}) {|str| print str}
|
74
74
|
connection.cmd("show ip dhcp binding #{ipaddress}") {
|
75
75
|
|c|
|
@@ -82,13 +82,13 @@ class CSRtelnet_1
|
|
82
82
|
access_interface = as[4].gsub!(" ", "").split(" ").last
|
83
83
|
return access_interface
|
84
84
|
else
|
85
|
-
answer =
|
85
|
+
answer = 'false'
|
86
86
|
return answer
|
87
87
|
end
|
88
88
|
rescue
|
89
89
|
begin
|
90
|
-
connection = Net::Telnet.new(
|
91
|
-
connection.login({
|
90
|
+
connection = Net::Telnet.new('Host' => host_iwag, 'Timeout' => false, 'Prompt' => /.*/) {|str| print str}
|
91
|
+
connection.login({'Name' => username_iwag, 'Password' => password_iwag, 'LoginPrompt' => /Username:/}) {|str| print str}
|
92
92
|
connection.cmd("show ip dhcp binding #{ipaddress}") {
|
93
93
|
|c|
|
94
94
|
dump << c
|
@@ -99,11 +99,11 @@ class CSRtelnet_1
|
|
99
99
|
access_interface = as[4].gsub!(" ", "").split(" ").last
|
100
100
|
return access_interface
|
101
101
|
else
|
102
|
-
answer =
|
102
|
+
answer ='false'
|
103
103
|
return answer
|
104
104
|
end
|
105
105
|
rescue
|
106
|
-
return
|
106
|
+
return 'unknown'
|
107
107
|
end
|
108
108
|
end
|
109
109
|
end
|
@@ -1381,6 +1381,18 @@ class IotFunctions_2
|
|
1381
1381
|
end
|
1382
1382
|
|
1383
1383
|
|
1384
|
+
#15
|
1385
|
+
#add service iot
|
1386
|
+
# soapgw_params = {:imei => "43563456", :imsi => "2452345", :unp => "6454127", :description => "test", :note => "test2"}
|
1387
|
+
#{"autorization"=>{"login"=>"login", "token"=>"token"}, "service"=>{"imei"=>"13412341234", "imsi"=>"5645645", "msisdn"=>"3423423", "unp"=>"4564564", "note"=>"test", "descriptiot"=>"test 2"}}
|
1388
|
+
|
1389
|
+
def spa_service_set_2(soapgw_params, real_ip, remote_ip)
|
1390
|
+
input_params = {:soapgw_params => soapgw_params, :real_ip => real_ip, :remote_ip => remote_ip}
|
1391
|
+
output_answ = {:code => 200, :message => 'Request completed successfully', :body => {:to_soap_gw => {}}}
|
1392
|
+
mongo_client.audit_spa_logger('spa_service_set_2', remote_ip, input_params, output_answ, real_ip, {})
|
1393
|
+
end
|
1394
|
+
|
1395
|
+
|
1384
1396
|
################################################
|
1385
1397
|
############technology procedures###############
|
1386
1398
|
################################################
|
@@ -38,12 +38,12 @@ class HuaIot
|
|
38
38
|
refr_token = ""
|
39
39
|
exp_in = ""
|
40
40
|
|
41
|
-
access_token =
|
42
|
-
refresh_token =
|
43
|
-
expires_in =
|
41
|
+
access_token = /"accessToken":"(\S+)"/
|
42
|
+
refresh_token = /"refreshToken":"(.+)"/
|
43
|
+
expires_in = /"expiresIn":(\d+)/
|
44
44
|
|
45
45
|
for i in dd
|
46
|
-
if i.to_s.include?(
|
46
|
+
if i.to_s.include?('accessToken')
|
47
47
|
acc_token = access_token.match(i)
|
48
48
|
elsif i.to_s.include?("refreshToken")
|
49
49
|
refr_token = refresh_token.match(i)
|
@@ -64,7 +64,7 @@ class HuaIot
|
|
64
64
|
data = {}
|
65
65
|
url_string = ""
|
66
66
|
begin
|
67
|
-
path =
|
67
|
+
path = '/iocm/app/sec/v1.1.0/login'
|
68
68
|
url_string = "https://" + platformip + ":" + platformport + path
|
69
69
|
internal_func.printer_texter("get_token: start. Step2, url_string: #{url_string}", "debug")
|
70
70
|
uri = URI.parse url_string
|
@@ -618,7 +618,7 @@ class HuaIot
|
|
618
618
|
|
619
619
|
#######################################
|
620
620
|
|
621
|
-
def test
|
621
|
+
def test
|
622
622
|
|
623
623
|
url_string = "https://134.17.93.4:8743/iocm/app/sec/v1.1.0/login"
|
624
624
|
headers = {
|
@@ -4,7 +4,7 @@ require 'date'
|
|
4
4
|
|
5
5
|
class InternalFunc
|
6
6
|
|
7
|
-
def datetimenow
|
7
|
+
def datetimenow
|
8
8
|
d_curr = DateTime.now
|
9
9
|
time_zone = 'Europe/Minsk'
|
10
10
|
DateTime.new
|
@@ -63,11 +63,11 @@ class InternalFunc
|
|
63
63
|
end
|
64
64
|
end
|
65
65
|
if is_string == 0
|
66
|
-
output_params = {:code => 200, :result =>
|
66
|
+
output_params = {:code => 200, :result => 'if_digit_or_string: Request processed. Its digit', :body => {:string => false}}
|
67
67
|
else
|
68
|
-
output_params = {:code => 200, :result =>
|
68
|
+
output_params = {:code => 200, :result => 'if_digit_or_string: Request processed. Its string', :body => {:string => true}}
|
69
69
|
end
|
70
|
-
printer_texter({:input_params => input_params, :output_params => output_params},
|
70
|
+
printer_texter({:input_params => input_params, :output_params => output_params}, 'debug')
|
71
71
|
output_params
|
72
72
|
|
73
73
|
end
|
@@ -193,7 +193,7 @@ class InternalFunc
|
|
193
193
|
end
|
194
194
|
|
195
195
|
|
196
|
-
def test
|
196
|
+
def test
|
197
197
|
p "eeeeeeeeeeeeeeeeeeeeeeee"
|
198
198
|
end
|
199
199
|
|
@@ -66,6 +66,31 @@ class MongoIot
|
|
66
66
|
out_resp
|
67
67
|
end
|
68
68
|
|
69
|
+
def audit_spa_logger(proc_name, url_str, input_json, output_json)
|
70
|
+
out_resp = {}
|
71
|
+
p "iiiiiiiot"
|
72
|
+
p input_json
|
73
|
+
begin
|
74
|
+
current = internal_func.datetimenow
|
75
|
+
collection = client[:audit_spa]
|
76
|
+
doc = {
|
77
|
+
:proc_name => proc_name,
|
78
|
+
:date => current,
|
79
|
+
:url => url_str,
|
80
|
+
:iot_platform_request => input_json,
|
81
|
+
:iot_platform_responce => output_json
|
82
|
+
}
|
83
|
+
p doc
|
84
|
+
result = collection.insert_one(doc)
|
85
|
+
out_resp = {:code => 200, :result => "audit_logger: Request completed successfully", :body => result}
|
86
|
+
rescue
|
87
|
+
out_resp = {:code => 507, :result => "audit_logger: Unknown SDK error"}
|
88
|
+
end
|
89
|
+
internal_func.printer_texter(out_resp, "debug")
|
90
|
+
out_resp
|
91
|
+
end
|
92
|
+
|
93
|
+
|
69
94
|
#:code => 507, :result => "Unknown SDK error"
|
70
95
|
#{:code => 200, :result => "Request completed successfully", :body => result_ps}
|
71
96
|
def get_profiles_by_login(login)
|
@@ -24,40 +24,40 @@ class Gmsgms_2
|
|
24
24
|
output = {}
|
25
25
|
|
26
26
|
status_dic = {
|
27
|
-
12033 =>
|
28
|
-
36013 =>
|
29
|
-
36023 =>
|
30
|
-
36033 =>
|
31
|
-
36043 =>
|
32
|
-
36053 =>
|
33
|
-
36063 =>
|
34
|
-
36073 =>
|
35
|
-
36083 =>
|
36
|
-
36093 =>
|
37
|
-
36103 =>
|
38
|
-
36113 =>
|
39
|
-
36123 =>
|
40
|
-
36133 =>
|
41
|
-
36143 =>
|
42
|
-
36153 =>
|
43
|
-
36163 =>
|
44
|
-
36173 =>
|
45
|
-
36183 =>
|
46
|
-
23033 =>
|
47
|
-
35015 =>
|
48
|
-
24013 =>
|
49
|
-
28013 =>
|
50
|
-
-1 =>
|
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
51
|
}
|
52
52
|
|
53
53
|
if gms_answer[:code] == 200
|
54
|
-
dt1 = gms_answer[:body][:res_body][
|
55
|
-
hyber_status = dt1[
|
56
|
-
output = {:code => 200, :result =>
|
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
57
|
elsif gms_answer[:code] == 404
|
58
|
-
output = {:code => 404, :result =>
|
58
|
+
output = {:code => 404, :result => 'Not found', :body => {'status_code': '', 'status': '', 'phone_number': '', 'message_id': gms_answer[:body][:request_message][:external_id]}}
|
59
59
|
else
|
60
|
-
output = {:code => gms_answer[:code], :result => gms_answer[:result], :body => {
|
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
61
|
end
|
62
62
|
output
|
63
63
|
end
|
@@ -0,0 +1,187 @@
|
|
1
|
+
require 'imperituroard/platforms/cps/qps_connector'
|
2
|
+
require 'imperituroard/platforms/cps/cps_mongo_connector'
|
3
|
+
|
4
|
+
class Kosmonavty_2
|
5
|
+
attr_accessor :file_of_changed_prof,
|
6
|
+
:qps_connector,
|
7
|
+
:cps_mongo,
|
8
|
+
:filename_processed_added,
|
9
|
+
:logfile,
|
10
|
+
:filename_failed_add,
|
11
|
+
:logfile_return,
|
12
|
+
:filename_processed_return,
|
13
|
+
:filename_failed_return
|
14
|
+
|
15
|
+
def initialize(file_of_changed_prof)
|
16
|
+
@file_of_changed_prof = file_of_changed_prof
|
17
|
+
@qps_connector = Qps_2.new('http://172.24.220.65:8080/ua/wsdl/UnifiedApi.wsdl', 'http://172.24.220.65:8080/ua/soap', 'http://broadhop.com/unifiedapi/soap/types')
|
18
|
+
@cps_mongo = MongoCPS_2.new('site1-ca-pri-sessionmgr01', '27720', 'spr')
|
19
|
+
|
20
|
+
@filename_processed_added = 'testfile.txt'
|
21
|
+
@filename_processed_return = 'testfile_return.txt'
|
22
|
+
@logfile = 'day60log.txt'
|
23
|
+
@logfile_return = 'day60log_return.txt'
|
24
|
+
@filename_failed_add = 'testfile_failed.txt'
|
25
|
+
@filename_failed_return = 'testfile_failed_return.txt'
|
26
|
+
end
|
27
|
+
|
28
|
+
def write_to_file_rewr(new_text)
|
29
|
+
File.open(file_of_changed_prof + filename_processed_added, 'w') {|file| file.write(new_text)}
|
30
|
+
end
|
31
|
+
|
32
|
+
def add_line_to_file(new_line, filename)
|
33
|
+
File.open(file_of_changed_prof + filename, 'a') do |file|
|
34
|
+
line = new_line + "\n"
|
35
|
+
file.write line
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def get_msisdn_from_file
|
40
|
+
begin
|
41
|
+
file = File.open(file_of_changed_prof + filename_processed_added)
|
42
|
+
file_data = file.read
|
43
|
+
output = []
|
44
|
+
splitted_lines = file_data.split("\n")
|
45
|
+
splitted_lines.each do |aaa|
|
46
|
+
if aaa != '' && aaa != "\n" && aaa.include?(';')
|
47
|
+
msssisdn = aaa.split(';')
|
48
|
+
output.push(msssisdn[0])
|
49
|
+
end
|
50
|
+
end
|
51
|
+
return output
|
52
|
+
rescue
|
53
|
+
return []
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def get_msisdn_from_file_for_del
|
58
|
+
begin
|
59
|
+
file = File.open(file_of_changed_prof + filename_processed_added)
|
60
|
+
file_data = file.read
|
61
|
+
output = []
|
62
|
+
splitted_lines = file_data.split("\n")
|
63
|
+
splitted_lines.each do |aaa|
|
64
|
+
if aaa != '' && aaa != "\n" && aaa.include?(';')
|
65
|
+
msssisdn = aaa.split(';')
|
66
|
+
output.push({:msisdn => msssisdn[0], :devId => msssisdn[1]})
|
67
|
+
end
|
68
|
+
end
|
69
|
+
return output
|
70
|
+
rescue
|
71
|
+
return []
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def main_processor_add_acl
|
76
|
+
process_json = {}
|
77
|
+
process_msisdn_list = []
|
78
|
+
|
79
|
+
#dat_cps = cps_mongo.get_minsk_fttx_fizlic
|
80
|
+
dat_cps = cps_mongo.get_minsk_fttx_zone2
|
81
|
+
|
82
|
+
dat_cps.each do |t|
|
83
|
+
gg = t.split(';')
|
84
|
+
process_json[gg[0]] = gg[1]
|
85
|
+
process_msisdn_list.push(gg[0])
|
86
|
+
end
|
87
|
+
|
88
|
+
from_file = get_msisdn_from_file
|
89
|
+
list_for_process = process_msisdn_list - from_file
|
90
|
+
uniq_list_for_proc = list_for_process.uniq
|
91
|
+
|
92
|
+
uniq_list_for_proc.each do |ddd|
|
93
|
+
ans = qps_connector.add_avp_acl(ddd, 'GTFU_IN')
|
94
|
+
#ans = {:change_subscriber_avps_response => {:error_code => '0'}}
|
95
|
+
begin
|
96
|
+
if ans[:change_subscriber_avps_response][:error_code] == '0'
|
97
|
+
add_line_to_file(ddd + ';' + process_json[ddd], filename_processed_added)
|
98
|
+
resp = qps_connector.stop_session_username(process_json[ddd])
|
99
|
+
add_line_to_file(ddd + ';' + process_json[ddd] + 'stop_session: ' + resp.to_s, logfile)
|
100
|
+
else
|
101
|
+
add_line_to_file(ddd + ';' + process_json[ddd], filename_failed_add)
|
102
|
+
add_line_to_file(ddd + ';' + process_json[ddd] + 'add_avps: ' + ans.to_s, logfile)
|
103
|
+
end
|
104
|
+
rescue
|
105
|
+
add_line_to_file(ddd + ';' + process_json[ddd], filename_failed_add)
|
106
|
+
add_line_to_file(ddd + ';' + process_json[ddd] + 'add_avps: ' + ans.to_s, logfile)
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
def main_processor_del_acl
|
112
|
+
from_file = get_msisdn_from_file_for_del
|
113
|
+
|
114
|
+
from_file.each do |ddd1|
|
115
|
+
ans = qps_connector.delete_avp_acl(ddd1[:msisdn])
|
116
|
+
if ans[:change_subscriber_avps_response][:error_code] == '0'
|
117
|
+
add_line_to_file(ddd1.to_s, filename_processed_return)
|
118
|
+
resp = qps_connector.stop_session_username(ddd1[:devId])
|
119
|
+
add_line_to_file(ddd1.to_s + ';' + ddd1[:devId] + 'stop_session: ' + resp.to_s, logfile_return)
|
120
|
+
else
|
121
|
+
add_line_to_file(ddd1.to_s, filename_failed_return)
|
122
|
+
add_line_to_file(ddd1.to_s + ';' + ddd1[:devId] + 'del_avp: ' + ans.to_s, logfile_return)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
def test
|
128
|
+
qps_connector.stop_session_username('Ethernet1/0/7:1907.0 Min_Rokossovskogo_145_5/0/0/1/0/7')
|
129
|
+
end
|
130
|
+
|
131
|
+
def test_mongo
|
132
|
+
|
133
|
+
dat_cps = cps_mongo.get_minsk_fttx_zone2
|
134
|
+
dat_cps2 = cps_mongo.get_minsk_fttx_zone3_rokos
|
135
|
+
dat_cps3 = cps_mongo.get_minsk_fttx_zone4_mega
|
136
|
+
dat_cps4 = cps_mongo.get_minsk_fttx_zone5_koles
|
137
|
+
dat_cps5 = cps_mongo.get_minsk_fttx_zone6_all
|
138
|
+
dat_cps7 = cps_mongo.get_minsk_fttx_zone7_3last
|
139
|
+
|
140
|
+
#1
|
141
|
+
p "get_minsk_fttx_zone2"
|
142
|
+
p dat_cps
|
143
|
+
p dat_cps.length
|
144
|
+
|
145
|
+
#2
|
146
|
+
p "get_minsk_fttx_zone3_rokos"
|
147
|
+
p dat_cps2
|
148
|
+
p dat_cps2.length
|
149
|
+
|
150
|
+
|
151
|
+
#3
|
152
|
+
p "get_minsk_fttx_zone4_mega"
|
153
|
+
p dat_cps3
|
154
|
+
p dat_cps3.length
|
155
|
+
|
156
|
+
|
157
|
+
#4
|
158
|
+
p "get_minsk_fttx_zone5_koles"
|
159
|
+
p dat_cps4
|
160
|
+
p dat_cps4.length
|
161
|
+
|
162
|
+
#5
|
163
|
+
p "get_minsk_fttx_zone6_all"
|
164
|
+
p dat_cps5
|
165
|
+
p dat_cps5.length
|
166
|
+
|
167
|
+
|
168
|
+
p "get_minsk_fttx_zone7_3last"
|
169
|
+
p dat_cps7
|
170
|
+
p dat_cps7.length
|
171
|
+
|
172
|
+
end
|
173
|
+
|
174
|
+
end
|
175
|
+
|
176
|
+
|
177
|
+
#p test.delete_avp_acl("375298766719")
|
178
|
+
#p test.add_avp_acl("375298766719", "ffgfg2")
|
179
|
+
|
180
|
+
#test2 = Kosmonavty_2.new('/Users/imperituroard/Desktop/')
|
181
|
+
|
182
|
+
#test2.main_processor_add_acl
|
183
|
+
|
184
|
+
#test2.main_processor_del_acl
|
185
|
+
|
186
|
+
#test2.test_mongo
|
187
|
+
|
@@ -74,13 +74,14 @@ class Belgim_2
|
|
74
74
|
elem = elem.gsub(" ", "")
|
75
75
|
end
|
76
76
|
|
77
|
-
if elem.match(/а|б|в|г|д|е|ж|ё|Ё|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ь|ы|ъ|э|ю|я|А|Б|В|Г|Д|Е|Ж|З|И|Й|К|Л|М|Н|О|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ь|Ы|Ъ|Э|Ю|Я/)
|
77
|
+
#if elem.match(/а|б|в|г|д|е|ж|ё|Ё|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ь|ы|ъ|э|ю|я|А|Б|В|Г|Д|Е|Ж|З|И|Й|К|Л|М|Н|О|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ь|Ы|Ъ|Э|Ю|Я/)
|
78
|
+
if elem.match(/[а-яА-ЯЁё]/)
|
78
79
|
elem = SimpleIDN.to_ascii(elem)
|
79
80
|
end
|
80
81
|
|
81
82
|
if elem != "-" && elem != ""
|
82
83
|
domain_parsed.push(elem)
|
83
|
-
if_www = elem[0]+elem[1]+elem[2]+elem[3]
|
84
|
+
if_www = elem[0] + elem[1] + elem[2] + elem[3]
|
84
85
|
|
85
86
|
#if not contain www - add domain with www
|
86
87
|
if if_www != "www."
|
@@ -76,36 +76,38 @@ class AddFuncUkaz60_2
|
|
76
76
|
if !processed_domain_in_url.include? "/"
|
77
77
|
#it is domain. Process domain
|
78
78
|
#if it is kirillica then process
|
79
|
-
if processed_domain_in_url.match(/а|б|в|г|д|е|ж|ё|Ё|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ь|ы|ъ|э|ю|я|А|Б|В|Г|Д|Е|Ж|З|И|Й|К|Л|М|Н|О|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ь|Ы|Ъ|Э|Ю|Я/)
|
79
|
+
#if processed_domain_in_url.match(/а|б|в|г|д|е|ж|ё|Ё|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ь|ы|ъ|э|ю|я|А|Б|В|Г|Д|Е|Ж|З|И|Й|К|Л|М|Н|О|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ь|Ы|Ъ|Э|Ю|Я/)
|
80
|
+
if processed_domain_in_url.match(/[а-яА-ЯЁё]/)
|
80
81
|
processed_domain_in_url = SimpleIDN.to_ascii(processed_domain_in_url)
|
81
82
|
end
|
82
83
|
domain_only = domain_only + processed_domain_in_url
|
83
|
-
type =
|
84
|
+
type = 'domain'
|
84
85
|
else
|
85
86
|
#it is url. process url
|
86
|
-
hh = processed_domain_in_url.split(
|
87
|
+
hh = processed_domain_in_url.split('/')
|
87
88
|
domain_only = hh[0]
|
88
|
-
if domain_only.match(/а|б|в|г|д|е|ж|ё|Ё|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ь|ы|ъ|э|ю|я|А|Б|В|Г|Д|Е|Ж|З|И|Й|К|Л|М|Н|О|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ь|Ы|Ъ|Э|Ю|Я/)
|
89
|
+
#if domain_only.match(/а|б|в|г|д|е|ж|ё|Ё|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ь|ы|ъ|э|ю|я|А|Б|В|Г|Д|Е|Ж|З|И|Й|К|Л|М|Н|О|П|Р|С|Т|У|Ф|Х|Ц|Ч|Ш|Щ|Ь|Ы|Ъ|Э|Ю|Я/)
|
90
|
+
if domain_only.match(/[а-яА-ЯЁё]/)
|
89
91
|
hh[0] = SimpleIDN.to_ascii(domain_only)
|
90
|
-
processed_domain_in_url =
|
92
|
+
processed_domain_in_url = ''
|
91
93
|
for t in hh
|
92
|
-
processed_domain_in_url = processed_domain_in_url + t +
|
94
|
+
processed_domain_in_url = processed_domain_in_url + t + '/'
|
93
95
|
end
|
94
96
|
sss1len = processed_domain_in_url.size
|
95
97
|
processed_domain_in_url = processed_domain_in_url[0..sss1len-2]
|
96
98
|
end
|
97
|
-
type =
|
99
|
+
type = 'url'
|
98
100
|
end
|
99
101
|
else
|
100
|
-
type =
|
102
|
+
type = 'empty'
|
101
103
|
end
|
102
|
-
output_answer = {:code => 200, :result =>
|
104
|
+
output_answer = {:code => 200, :result => 'Request processed', :ishodnye_dannye => stroka, :first_url => first_url, :processed_domain_in_url => processed_domain_in_url, :domain_only => domain_only, :protocol => protocol, :type => type}
|
103
105
|
|
104
106
|
else
|
105
|
-
output_answer = {:code => 202, :result =>
|
107
|
+
output_answer = {:code => 202, :result => 'Data not found'}
|
106
108
|
end
|
107
109
|
rescue
|
108
|
-
output_answer = {:code => 507, :result =>
|
110
|
+
output_answer = {:code => 507, :result => 'Something wrong'}
|
109
111
|
end
|
110
112
|
output_answer
|
111
113
|
end
|
@@ -132,12 +134,12 @@ class AddFuncUkaz60_2
|
|
132
134
|
#result_out.push({aaa[0] => "Ok"})
|
133
135
|
num_ok = num_ok + 1
|
134
136
|
else
|
135
|
-
result_out[aaa[0]] =
|
137
|
+
result_out[aaa[0]] = 'Failed'
|
136
138
|
#result_out.push({aaa[0] => "Failed"})
|
137
139
|
num_failed = num_failed + 1
|
138
140
|
end
|
139
141
|
rescue
|
140
|
-
result_out[
|
142
|
+
result_out['unknown'] = aaa.to_s
|
141
143
|
#result_out.push({"unknown" => aaa.to_s})
|
142
144
|
num_failed = num_failed + 1
|
143
145
|
end
|
@@ -5,7 +5,7 @@ require 'savon'
|
|
5
5
|
|
6
6
|
|
7
7
|
class Pcps
|
8
|
-
attr_accessor :wsdl, :endpoint, :namespace, :
|
8
|
+
attr_accessor :wsdl, :endpoint, :namespace, :client_cps
|
9
9
|
|
10
10
|
def initialize(wsdl, endpoint, namespace)
|
11
11
|
@wsdl = wsdl
|
@@ -24,34 +24,35 @@ class Pcps
|
|
24
24
|
def avp_attr_list(username)
|
25
25
|
|
26
26
|
message2 = {:networkId => username}
|
27
|
-
response =
|
27
|
+
response = client_cps.call(:get_subscriber) do
|
28
28
|
message(message2)
|
29
29
|
end
|
30
30
|
aaa = response.to_hash[:get_subscriber_response][:subscriber][:avp]
|
31
31
|
#li = {"FRAMED-IP-ADDRESS":0,"FRAMED-NETMASK":0,"Default-Gateway":0,"VRF-ID":0,"DHCP-CLASS":0,"IPV4-UNNUMB":0,"PREFIX":0}
|
32
|
-
li = {
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
32
|
+
li = {'FRAMED-IP-ADDRESS' => 0,
|
33
|
+
'FRAMED-NETMASK' => 0,
|
34
|
+
'Default-Gateway' => 0,
|
35
|
+
'VRF-ID' => 0,
|
36
|
+
'DHCP-CLASS' => 0,
|
37
|
+
'IPV4-UNNUMB' => 0,
|
38
|
+
'FRAMED-ROUTE-1' => 0}
|
39
|
+
is_hash = !aaa.is_a?(Hash)
|
40
|
+
if is_hash
|
41
|
+
aaa.each do |i|
|
42
|
+
if i[:code]=='FRAMED-IP-ADDRESS'
|
43
|
+
li['FRAMED-IP-ADDRESS']=1
|
44
|
+
elsif i[:code]=='FRAMED-NETMASK'
|
45
|
+
li['FRAMED-NETMASK']=1
|
46
|
+
elsif i[:code]=='Default-Gateway'
|
47
|
+
li['Default-Gateway']=1
|
48
|
+
elsif i[:code]=='VRF-ID'
|
49
|
+
li['VRF-ID']=1
|
50
|
+
elsif i[:code]=='DHCP-CLASS'
|
51
|
+
li['DHCP-CLASS']=1
|
52
|
+
elsif i[:code]=='IPV4-UNNUMB'
|
53
|
+
li['IPV4-UNNUMB']=1
|
54
|
+
elsif i[:code]=='FRAMED-ROUTE-1'
|
55
|
+
li['FRAMED-ROUTE-1']=1
|
55
56
|
end
|
56
57
|
end
|
57
58
|
end
|
@@ -81,7 +82,7 @@ class Pcps
|
|
81
82
|
# {:code => "PREFIX"}
|
82
83
|
]
|
83
84
|
}
|
84
|
-
response =
|
85
|
+
response = client_cps.call(:change_subscriber_avps) do
|
85
86
|
message(message2)
|
86
87
|
end
|
87
88
|
response
|
@@ -98,7 +99,7 @@ class Pcps
|
|
98
99
|
|
99
100
|
def get_current_attributes(msisdn)
|
100
101
|
message2 = {:networkId => msisdn}
|
101
|
-
response =
|
102
|
+
response = client_cps.call(:get_subscriber) do
|
102
103
|
message(message2)
|
103
104
|
end
|
104
105
|
aaa = response.to_hash[:get_subscriber_response][:subscriber][:avp]
|
@@ -111,7 +112,7 @@ class Pcps
|
|
111
112
|
:networkId => username,
|
112
113
|
:newAvp => attlist
|
113
114
|
}
|
114
|
-
response =
|
115
|
+
response = client_cps.call(:change_subscriber_avps) do
|
115
116
|
message(message1)
|
116
117
|
end
|
117
118
|
response.to_hash
|
@@ -55,8 +55,8 @@ class StateWTTX
|
|
55
55
|
if !result_code
|
56
56
|
"false"
|
57
57
|
else
|
58
|
-
reg_imsi = /<field code
|
59
|
-
reg_imei = /<field code
|
58
|
+
reg_imsi = /<field code="imsi" value="([0-9]{10,15})"/
|
59
|
+
reg_imei = /<field code="imei" value="([0-9]{10,17})"/
|
60
60
|
|
61
61
|
m1 = reg_imsi.match(content)
|
62
62
|
m2 = reg_imei.match(content)
|
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.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dzmitry Buynovskiy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -206,6 +206,7 @@ files:
|
|
206
206
|
- lib/imperituroard.rb
|
207
207
|
- lib/imperituroard/.DS_Store
|
208
208
|
- lib/imperituroard/add_functions/logger/any_functions.rb
|
209
|
+
- lib/imperituroard/platforms/cps/cps_mongo_connector.rb
|
209
210
|
- lib/imperituroard/platforms/cps/cps_multiple_thread_req.rb
|
210
211
|
- lib/imperituroard/platforms/cps/qps_connector.rb
|
211
212
|
- lib/imperituroard/platforms/cps/request_formatter.rb
|
@@ -233,6 +234,7 @@ files:
|
|
233
234
|
- lib/imperituroard/projects/mhub/subs/dabrab/dabrab_platform.rb
|
234
235
|
- lib/imperituroard/projects/mhub/subs/dabrab/dabrab_proced.rb
|
235
236
|
- lib/imperituroard/projects/mhub/subs/evrotorg/gms_connector.rb
|
237
|
+
- lib/imperituroard/projects/oats/fttx_acl/add_acl_fttx.rb
|
236
238
|
- lib/imperituroard/projects/ukaz60.rb
|
237
239
|
- lib/imperituroard/projects/ukaz60/belgim.rb
|
238
240
|
- lib/imperituroard/projects/ukaz60/dns.rb
|