imperituroard 0.5.7 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,117 @@
1
1
  class Dabrab
2
2
 
3
+ def dabrabyt_text_field_parse(stri)
4
+ button_url = ""
5
+ image = ""
6
+ button_text = ""
7
+ text = stri
8
+
9
+ #############
10
+ #0 - Text only
11
+ #1 - Text + Button
12
+ #2 - Text + Image + Button
13
+ #3 - image only
14
+ #############
15
+ scheme = 0
16
+ scheme_dic = {0 => "Text only", 1 => "Text+Button", 2 => "Text+Image+Button", 3 => "Image only"}
17
+ #############
18
+
19
+ output_answer = {}
20
+ sk_format = {}
21
+
22
+ begin
23
+
24
+ regexp_image1 = /(image:(\S+)[\s\n]?)/
25
+ button_url1 = /(button_url:(\S+)[\s\n]?)/
26
+ button_text1 = /(button_text:["']([^"]+)["'][\s\n])/
27
+
28
+ button_url_dat = stri.scan(button_url1)
29
+ button_text_dat = stri.scan(button_text1)
30
+ image_dat = stri.scan(regexp_image1)
31
+
32
+
33
+ p button_url_dat
34
+ p button_text_dat
35
+ p image_dat
36
+
37
+ begin
38
+ if button_url_dat != [] && button_url_dat != nil && button_url_dat != ""
39
+ button_url = button_url_dat[0][1]
40
+ text = text.gsub(button_url_dat[0][0], "")
41
+ end
42
+ rescue
43
+ nil
44
+ end
45
+
46
+ begin
47
+ if button_text_dat != [] && button_text_dat != nil && button_text_dat != ""
48
+ button_text = button_text_dat[0][1]
49
+ text = text.gsub(button_text_dat[0][0], "")
50
+ end
51
+ rescue
52
+ nil
53
+ end
54
+
55
+ begin
56
+ if image_dat != [] && image_dat != nil && image_dat != ""
57
+ image = image_dat[0][1]
58
+ text = text.gsub(image_dat[0][0], "")
59
+ end
60
+ rescue
61
+ nil
62
+ end
63
+ text = text.gsub(/\s+$/, '').gsub(/\n$/, '')
64
+
65
+
66
+ if button_url != "" && button_text != "" && image != "" #111
67
+ scheme = 2
68
+ elsif button_url != "" && button_text != "" && image == "" #110
69
+ scheme = 1
70
+ elsif button_url == "" && button_text == "" && image != "" #001
71
+ if text == ""
72
+ scheme = 3
73
+ else
74
+ scheme = 2
75
+ button_url = image
76
+ button_text = "Открыть"
77
+ end
78
+ elsif button_url != "" && button_text == "" && image != "" #101
79
+ scheme = 2
80
+ button_text = "Открыть"
81
+ elsif button_url == "" && button_text != "" && image != "" #011
82
+ scheme = 2
83
+ button_url = image
84
+ elsif button_url == "" && button_text != "" && image == "" #010
85
+ scheme = 0
86
+ elsif button_url != "" && button_text == "" && image == "" #100
87
+ button_text = "Открыть"
88
+ scheme = 1
89
+ else
90
+ scheme = 0
91
+ end
92
+
93
+ if scheme==0
94
+ sk_format = {"text": text, "ttl": 60}
95
+ elsif scheme==1
96
+ sk_format = {"text": text, "ttl": 60, "caption": button_text, "action": button_url}
97
+ elsif scheme==2
98
+ sk_format = {"text": text, "ttl": 60, "caption": button_text, "action": button_url, "img": image}
99
+ elsif scheme==3
100
+ sk_format = {"img": image, "ttl": 60}
101
+ else
102
+ nil
103
+ end
104
+
105
+ p sk_format
106
+
107
+ output_answer ={:code => 200, :result => "Success", :body => {:to_sk_format => sk_format, :button_url => button_url, :image => image, :button_text => button_text, :text => text, :scheme => scheme, :scheme_dic => scheme_dic[scheme]}}
108
+ rescue
109
+ output_answer ={:code => 507, :result => "dabrabyt_text_field_parse: Unknown error"}
110
+ end
111
+ output_answer
112
+ end
113
+
114
+
3
115
  def num_formatter(infobip_msisdn, extra_id)
4
116
  #[{"to"=>{"phoneNumber"=>"375297116638", "emailAddress"=>nil}}]
5
117
  # [{"phone_number": 375298766719}, {"phone_number": 375295730878}]
@@ -50,20 +162,20 @@ class Dabrab
50
162
  status1 = {}
51
163
  if a["processed"] == true && a["accepted"] == true
52
164
  status1 = {"to": {"phoneNumber": a["phone_number"]},
53
- "status": {"groupId": 1,
54
- "groupName": "PENDING",
55
- "id": 26,
56
- "name": "MESSAGE_ACCEPTED",
57
- "description": "Message sent to next instance"},
58
- "messageId": a["message_id"]}
165
+ "status": {"groupId": 1,
166
+ "groupName": "PENDING",
167
+ "id": 26,
168
+ "name": "MESSAGE_ACCEPTED",
169
+ "description": "Message sent to next instance"},
170
+ "messageId": a["message_id"]}
59
171
  else
60
172
  status1 = {"to": {"phoneNumber": a["phone_number"]},
61
- "status": {"groupId": 5,
62
- "groupName": "REJECTED",
63
- "id": 21,
64
- "name": "REJECTED_SYSTEM_ERROR",
65
- "description": "Unknown error"},
66
- "messageId": a["message_id"]}
173
+ "status": {"groupId": 5,
174
+ "groupName": "REJECTED",
175
+ "id": 21,
176
+ "name": "REJECTED_SYSTEM_ERROR",
177
+ "description": "Unknown error"},
178
+ "messageId": a["message_id"]}
67
179
  end
68
180
 
69
181
  messages_sect.append(status1)
@@ -53,13 +53,14 @@ class Ukaz60All_2
53
53
  if format_for_forti[:code] == 200
54
54
  url_uploading = forti_connector.upload_url(format_for_forti[:body][:to_fortigate])
55
55
  if url_uploading[:code] == 200
56
- update_fortigate_ansible = forti_connector.update_weburl_fortigate
56
+ #update_fortigate_ansible = forti_connector.update_weburl_fortigate
57
+ update_fortigate_ansible = forti_connector.update_weburl_fortimanager
57
58
  if update_fortigate_ansible[:code] == 200
58
59
  forti_answer = {:code => 200, :result => "Fortigate processed", :data => update_fortigate_ansible[:body][:body], :num_uploaded_to_forti => format_for_forti[:body][:num_list]}
59
60
  else
60
61
  forti_answer = {:code => update_fortigate_ansible[:code], :result => update_fortigate_ansible[:result]}
61
62
  end
62
- forti_connector.clean_tmp_folders
63
+ #forti_connector.clean_tmp_folders
63
64
  else
64
65
  forti_answer = {:code => 401, :result => "Failed for uploading data to ansible server"}
65
66
  end
@@ -109,6 +110,7 @@ class Ukaz60All_2
109
110
 
110
111
  begin
111
112
  get_belgim_data = belgim_connector.belgim_ukaz60_get
113
+ p get_belgim_data
112
114
 
113
115
  if get_belgim_data[:code] == 200
114
116
 
@@ -52,7 +52,11 @@ class Belgim_2
52
52
  results = {}
53
53
 
54
54
  # Get data from Belgim site by curl
55
- return_from_belgim = `curl -d "name=#{belgim_login}&pass=#{belgim_password}" -H "Content-Type: application/x-www-form-urlencoded" -X POST #{belgim_url}`
55
+ curl_belgie_command = "curl -d \"name=#{belgim_login}&pass=#{belgim_password}\" -H \"Content-Type: application/x-www-form-urlencoded\" -X POST #{belgim_url} --insecure"
56
+ #return_from_belgim = `curl -d "name=#{belgim_login}&pass=#{belgim_password}" -H "Content-Type: application/x-www-form-urlencoded" -X POST #{belgim_url} --insecure`
57
+ return_from_belgim = `#{curl_belgie_command}`
58
+ p curl_belgie_command
59
+
56
60
  return_from_belgim = return_from_belgim.gsub!("\n", "")
57
61
 
58
62
  #parse Belgim file by regexpression
@@ -99,6 +99,29 @@ class FortiUkaz60_2
99
99
  output_data
100
100
  end
101
101
 
102
+
103
+ #2.1 function for process data to fortigate by fortimanager by ansible
104
+ # Full ready
105
+ def update_weburl_fortimanager
106
+ output_data = {}
107
+ begin
108
+ command = "/bin/bash /scripts/temp_fortimanager_url_upload.sh"
109
+ ansible_answer = ""
110
+ Net::SSH.start(ansible_host, ansible_ssh_user, :password => ansible_ssh_password) do |ssh|
111
+ ansible_answer = ssh.exec!(command)
112
+ end
113
+ p "ansible_answer: #{ansible_answer}"
114
+
115
+ #hh = "\nPLAY [ha_master] ***************************************************************\n\nTASK [set url table] ***********************************************************\nchanged: [gom32sg1]\nchanged: [bre32sg1]\nchanged: [min32sg1]\nchanged: [vit32sg1]\nchanged: [min32sg3]\nchanged: [gro32sg1]\nchanged: [mog32sg1]\n\nTASK [check current url table] *************************************************\nok: [min32sg1]\nok: [bre32sg1]\nok: [min32sg3]\nok: [vit32sg1]\nok: [gom32sg1]\nok: [gro32sg1]\nok: [mog32sg1]\n\nTASK [debug] *******************************************************************\nok: [min32sg1] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\nok: [min32sg3] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\nok: [bre32sg1] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\nok: [vit32sg1] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\nok: [gom32sg1] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\nok: [gro32sg1] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\nok: [mog32sg1] => {\n \"msg\": \"URL loaded/in-file: [1273 / 1273]\"\n}\n\nPLAY RECAP *********************************************************************\nbre32sg1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \ngom32sg1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \ngro32sg1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \nmin32sg1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \nmin32sg3 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \nmog32sg1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \nvit32sg1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 \n\n"
116
+ answ_pr = add_func_connector.ansible_answer_parse(ansible_answer)
117
+ output_data = {:code => 200, :result => "update_weburl_fortigate: Request completed", :body => answ_pr}
118
+ rescue
119
+ output_data = {:code => 507, :result => "update_weburl_fortigate: Unknown SDK error"}
120
+ end
121
+ add_functions_full.printer_texter(output_data, "debug")
122
+ output_data
123
+ end
124
+
102
125
  #3 Clean all temp files
103
126
  # Full ready
104
127
  def clean_tmp_folders
@@ -1,4 +1,7 @@
1
1
  require 'net/ssh'
2
+ require 'uri'
3
+ require "erb"
4
+ include ERB::Util
2
5
 
3
6
  require 'imperituroard/platforms/staros/get_data_ssh'
4
7
 
@@ -124,3 +127,15 @@ class Ukaz60Staros_2
124
127
  returned_data
125
128
  end
126
129
  end
130
+
131
+
132
+ uu ="/fgd?ef"
133
+
134
+ #ggg = uu.force_encoding('ASCII-8BIT')
135
+ #puts CGI.escape ggg
136
+ p url_encode("foo/bar? baz&")
137
+
138
+ p URI.parse("foo/bar? baz&").to_s
139
+ p URI::encode("foo/bar? baz&")
140
+
141
+ p URI.decode("newsx-ru.ru/by/251-potencia-spartagen-by/%3futm%20medium=251&utmcampaign=4&%20utm%20content=57849345&utm%20source=56960717")
@@ -1,4 +1,5 @@
1
1
  require 'imperituroard/add_functions/logger/any_functions'
2
+ require 'uri'
2
3
 
3
4
  class AddFuncUkaz60_2
4
5
 
@@ -209,7 +210,7 @@ class AddFuncUkaz60_2
209
210
  else
210
211
  star_dom_x = star_url_curr
211
212
  end
212
- if belg_url.include?(star_dom_x)
213
+ if belg_url.include?(star_dom_x) || belg_url.include?(URI.decode(star_dom_x))
213
214
  blocked = 1
214
215
  for_unblock_tmp[star_host[:hostname]].push(star_dom)
215
216
  end
@@ -245,6 +246,16 @@ class AddFuncUkaz60_2
245
246
  rescue
246
247
  output_answ = {:code => 507, :result => "staros_compare_http: Unknown SDK error"}
247
248
  end
249
+
250
+ #p JSON.pretty_generate(output_answ)
251
+ p "staros_compare_http"
252
+ p output_answ
253
+
254
+ p "temp data"
255
+ for i in output_answ[:body][:for_unblock][:for_unblock]["vit11asr2"]
256
+ #for i in output_answ[:body][:for_block][:not_blocked_belgim]["vit11asr2"]
257
+ p i
258
+ end
248
259
  output_answ
249
260
  end
250
261
 
@@ -289,8 +300,6 @@ class AddFuncUkaz60_2
289
300
  answ_out[:body][:to_message][:data][:unblock_me] = data[:body][:for_unblock][:for_unblock_stat]
290
301
  end
291
302
 
292
-
293
-
294
303
  answ_out
295
304
  end
296
305
 
@@ -1,3 +1,3 @@
1
1
  module Imperituroard
2
- VERSION = "0.5.7"
2
+ VERSION = "1.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imperituroard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7
4
+ version: 1.0.2
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-05-27 00:00:00.000000000 Z
11
+ date: 2020-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - '='
172
172
  - !ruby/object:Gem::Version
173
- version: 5.2.4.2
173
+ version: 5.0.7.2
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - '='
179
179
  - !ruby/object:Gem::Version
180
- version: 5.2.4.2
180
+ version: 5.0.7.2
181
181
  description: Gem from imperituroard for different actions
182
182
  email:
183
183
  - imperituro.ard@gmail.com
@@ -202,10 +202,13 @@ files:
202
202
  - lib/imperituroard.rb
203
203
  - lib/imperituroard/.DS_Store
204
204
  - lib/imperituroard/add_functions/logger/any_functions.rb
205
+ - lib/imperituroard/platforms/cps/cps_multiple_thread_req.rb
205
206
  - lib/imperituroard/platforms/cps/qps_connector.rb
206
207
  - lib/imperituroard/platforms/cps/request_formatter.rb
207
208
  - lib/imperituroard/platforms/public/telegram.rb
208
209
  - lib/imperituroard/platforms/staros/get_data_ssh.rb
210
+ - lib/imperituroard/platforms/staros/staros_automation.rb
211
+ - lib/imperituroard/platforms/staros/staros_automation_fun.rb
209
212
  - lib/imperituroard/platforms/staros/staros_parser.rb
210
213
  - lib/imperituroard/projects/dns.rb
211
214
  - lib/imperituroard/projects/iot.rb
@@ -246,7 +249,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
246
249
  requirements:
247
250
  - - ">="
248
251
  - !ruby/object:Gem::Version
249
- version: 2.5.0
252
+ version: 2.3.0
250
253
  required_rubygems_version: !ruby/object:Gem::Requirement
251
254
  requirements:
252
255
  - - ">="