imperituroard 1.1.17 → 1.1.18

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 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