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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 015a5d3136b3e47eab433636dd7b9e0fc4b70fdb
4
- data.tar.gz: 90d1189ffd4fdcb5a2458dda0752d5e0b10342c7
3
+ metadata.gz: 8c33a43a67fc96768e51fb1a612372b67bb6d27d
4
+ data.tar.gz: 2c15329e9f493ef186d9ae0955e4d2c552bf7ebd
5
5
  SHA512:
6
- metadata.gz: e55cf9eafb144b4426c61ef65f72d715b8240195af65b173ec09d350a6dead6bff75a9487d8e519ff2ed7dd68047ebffa91f29c54595c37cf03cdd9e7be6a995
7
- data.tar.gz: 6df5079662a650f243107f6bc4a22da04054097f4211c514833c349ace9d4312cec8c2c9df9b3f13f7b3f76f03c61ecdf4e074c81e349361a44cef246a32f233
6
+ metadata.gz: 963dc4dbffee66e2822d4a58bc2603dd4183480066beb9e7828b7426f502b28894decaf56a759d1addf0e6a1bcb0fd1960a341c35cec857772d9158807b6d0f0
7
+ data.tar.gz: 3d099c234e11fd1b2d3cc995b767225da3a27c9edaf9f6a08ff9b768099927dfc117da499c14c017de2127cfabcffe7cb4da009c13cd4fe22cd9f066b941c279
data/.gitignore CHANGED
@@ -69,3 +69,6 @@ fabric.properties
69
69
 
70
70
  # Android studio 3.1+ serialized cache file
71
71
  .idea/caches/build_file_checksums.ser
72
+
73
+
74
+ test/
@@ -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
- #14 integration with SPA
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
 
@@ -7,7 +7,7 @@ require 'date'
7
7
  class LogAddFunctions_2
8
8
 
9
9
 
10
- def datetimenow()
10
+ def datetimenow
11
11
  d_curr = DateTime.now
12
12
  time_zone = 'Europe/Minsk'
13
13
  DateTime.now.to_s
@@ -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
+
@@ -15,7 +15,7 @@ class IwagDbCache
15
15
  end
16
16
 
17
17
 
18
- def insert_new_cache()
18
+ def insert_new_cache
19
19
 
20
20
  end
21
21
 
@@ -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" => /.*\#/ ) { |str| }
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=="01"
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
- return subscribers_mac
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" => /.*\#/) {|str| print str}
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 ="false"
85
+ answer = 'false'
86
86
  return answer
87
87
  end
88
88
  rescue
89
89
  begin
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}
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 ="false"
102
+ answer ='false'
103
103
  return answer
104
104
  end
105
105
  rescue
106
- return "unknown"
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
  ################################################
@@ -26,9 +26,9 @@ class AdditionalFunc
26
26
  imei =0
27
27
  imsi =0
28
28
  msisdn =0
29
- description ="nil"
30
- note ="nil"
31
- type ="nil"
29
+ description = 'nil'
30
+ note = "nil"
31
+ type = "nil"
32
32
  profile ="nil"
33
33
  address ="nil"
34
34
 
@@ -38,12 +38,12 @@ class HuaIot
38
38
  refr_token = ""
39
39
  exp_in = ""
40
40
 
41
- access_token = /\"accessToken\":\"(\S+)\"/
42
- refresh_token = /\"refreshToken\":\"(.+)\"/
43
- expires_in = /\"expiresIn\":(\d+)/
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?("accessToken")
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 = "/iocm/app/sec/v1.1.0/login"
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 => "if_digit_or_string: Request processed. Its digit", :body => {:string => false}}
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 => "if_digit_or_string: Request processed. Its string", :body => {:string => true}}
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}, "debug")
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 => "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"
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]["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"]}}
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 => "Not found", :body => {"status_code": "", "status": "", "phone_number": "", "message_id": gms_answer[:body][:request_message][:external_id]}}
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 => {"status_code": "", "status": "", "phone_number": "", "message_id": gms_answer[:body][:request_message][:external_id]}}
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 = "domain"
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 = "url"
99
+ type = 'url'
98
100
  end
99
101
  else
100
- type = "empty"
102
+ type = 'empty'
101
103
  end
102
- 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}
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 => "Data not found"}
107
+ output_answer = {:code => 202, :result => 'Data not found'}
106
108
  end
107
109
  rescue
108
- output_answer = {:code => 507, :result => "Something wrong"}
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]] = "Failed"
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["unknown"] = aaa.to_s
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, :clientcps
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 = clientcps.call(:get_subscriber) do
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 = {"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
- if !aaa.is_a?(Hash)
40
- for i in aaa
41
- if i[:code]=="FRAMED-IP-ADDRESS"
42
- li["FRAMED-IP-ADDRESS"]=1
43
- elsif i[:code]=="FRAMED-NETMASK"
44
- li["FRAMED-NETMASK"]=1
45
- elsif i[:code]=="Default-Gateway"
46
- li["Default-Gateway"]=1
47
- elsif i[:code]=="VRF-ID"
48
- li["VRF-ID"]=1
49
- elsif i[:code]=="DHCP-CLASS"
50
- li["DHCP-CLASS"]=1
51
- elsif i[:code]=="IPV4-UNNUMB"
52
- li["IPV4-UNNUMB"]=1
53
- elsif i[:code]=="FRAMED-ROUTE-1"
54
- li["FRAMED-ROUTE-1"]=1
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 = clientcps.call(:change_subscriber_avps) do
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 = clientcps.call(:get_subscriber) do
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 = clientcps.call(:change_subscriber_avps) do
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=\"imsi\" value=\"([0-9]{10,15})\"/
59
- reg_imei = /<field code=\"imei\" value=\"([0-9]{10,17})\"/
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)
@@ -1,4 +1,4 @@
1
1
  module Imperituroard
2
- VERSION = "1.1.17"
2
+ VERSION = '1.1.18'
3
3
  end
4
4
 
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.17
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-09-28 00:00:00.000000000 Z
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