pais_legacy 2.6.0 → 2.6.1

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
  SHA256:
3
- metadata.gz: 137cd19045ff9caec78e7a880fff8977cc11e948695f423248a153aca9bc6a57
4
- data.tar.gz: 6a58fc1f86ce0d878ebc08545f158142d5f573d9359dd92fe384e89aadb37574
3
+ metadata.gz: a9f69175d350cb7e66382799b7fe36e26161394599e0060abb5139019ddfd165
4
+ data.tar.gz: 900892b5404050052d8e3963f3e31be6c0ea843ccd6ab27b289ac19ef0c36ba2
5
5
  SHA512:
6
- metadata.gz: d78b12afd356b6cc43aa342119fd179a2ae0b9564522cec6b25068adb62c2f4078703fbf12cb7eecfe7c40d76757ebc22a3e61440a8a03e66412c7b8d1cedd71
7
- data.tar.gz: d163add0cd7db3fbb08d238a3da0997d7d260750d1c7ff22fd4767182b94a46c9f6e37910597080feaa1d2218ff729b5b9b9c3a551d67f2335b07086c8d79d9c
6
+ metadata.gz: 02f01d3ffd046c32215fde925367e8aee9b59f844c018e515fed8646cd25c225ba66272a125d100d88d1c900b55620f15e0506a58a18a3cbbdc1f35715d4230a
7
+ data.tar.gz: 7d3aff622d67f4a4f44cfc159513733303aa7997542420c718ea86a33b615d0b2413d8d84e1d97a12e1dbb6d7a24d89fb0b8ffa9b8dfc3fdbe9fb2cac8a855ad
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PaisLegacy
4
- VERSION = "2.6.0"
4
+ VERSION = "2.6.1"
5
5
  end
data/lib/pais_legacy.rb CHANGED
@@ -4,6 +4,8 @@ require 'date'
4
4
  require 'json' # Output
5
5
  require "open3" # File I/O
6
6
  require 'pastel' # TTY Color
7
+ require 'net/ssh'
8
+ require 'byebug'
7
9
 
8
10
  require_relative "pais_legacy/trial_balance"
9
11
  require_relative "pais_legacy/version"
@@ -18,6 +20,45 @@ module PaisLegacy
18
20
  CLEARING_ACCOUNT=5199
19
21
  TB_DIRECT_ACCOUNT=8999
20
22
 
23
+ def self.execute_ssh_command(command)
24
+ output = ""
25
+
26
+ # Start an SSH session
27
+ Net::SSH.start(SERVER) do |ssh|
28
+ # Open a new SSH channel
29
+ ssh.open_channel do |channel|
30
+ # Request a pseudo-tty
31
+ channel.request_pty do |ch, success|
32
+ raise "Could not obtain pty" unless success
33
+
34
+ # Execute the command
35
+ ch.exec(command) do |ch, success|
36
+ raise "Could not execute command" unless success
37
+
38
+ # Collect the data received from the command's standard output
39
+ ch.on_data do |c, data|
40
+ output += data
41
+ end
42
+
43
+ # Collect the data received from the command's standard error
44
+ ch.on_extended_data do |c, type, data|
45
+ output += "stderr: #{data}"
46
+ end
47
+
48
+ ch.on_close do
49
+ puts "Command execution finished"
50
+ end
51
+ end
52
+ end
53
+ end
54
+
55
+ # Keep the session open until the command execution is finished
56
+ ssh.loop
57
+ end
58
+
59
+ output
60
+ end
61
+
21
62
  # --------------------------------------------------------------------------------
22
63
  # Client
23
64
  # --------------------------------------------------------------------------------
@@ -30,7 +71,7 @@ module PaisLegacy
30
71
  end
31
72
 
32
73
  def self.clfi_read(client=nil)
33
- out,_,_=Open3.capture2(clfi_read_cmd(client.to_s))
74
+ out=execute_ssh_command(clfi_read_cmd(client.to_s))
34
75
  JSON.parse(out)
35
76
  end
36
77
 
@@ -46,7 +87,9 @@ module PaisLegacy
46
87
  end
47
88
 
48
89
  def self.glfi_read(ledger=nil)
49
- out,_,_=Open3.capture2(glfi_read_cmd(ledger.to_s))
90
+ # out,stderr,status=Open3.capture2(glfi_read_cmd(ledger.to_s))
91
+ out=execute_ssh_command(glfi_read_cmd(ledger.to_s))
92
+
50
93
  JSON.parse(out)
51
94
  end
52
95
 
@@ -58,7 +101,7 @@ module PaisLegacy
58
101
  end
59
102
 
60
103
  def self.glch_read(ledger)
61
- # out,_,_=Open3.capture2(glch_read_cmd(ledger.to_s))
104
+ # out=execute_ssh_command(glch_read_cmd(ledger.to_s))
62
105
  # out.
63
106
  # split("\n").
64
107
  # map{|line| line.split(",")}.
@@ -67,7 +110,8 @@ module PaisLegacy
67
110
  end
68
111
 
69
112
  def self.glch_read_all(ledger)
70
- out,_,_=Open3.capture2(glch_read_cmd(ledger.to_s))
113
+ puts glch_read_cmd(ledger.to_s)
114
+ out=execute_ssh_command(glch_read_cmd(ledger.to_s))
71
115
  JSON.parse(out)
72
116
  end
73
117
 
@@ -76,15 +120,17 @@ module PaisLegacy
76
120
  def self.raw(params,program="rdefi00a")
77
121
  params = params.gsub(" "," \\")
78
122
 
79
- cmd = ssh + ' "bash -c \"'+ fglgo("rptrun") +' pgs 1 pais '+program+' \''+ params + ' \' \""'
80
- out,_,_=Open3.capture2(cmd)
123
+ # cmd = ssh + ' "bash -c \"'+ fglgo("rptrun") +' pgs 1 pais '+program+' \''+ params + ' \' \""'
124
+ cmd = fglgo("rptrun") +' api 1 pais '+program+' \''+ params + ' \' '
125
+
126
+ out=execute_ssh_command(cmd)
81
127
  [out]
82
128
  end
83
129
 
84
130
  def self.raw_zsh(params,program="rdefi00a")
85
131
  params = params.gsub(" "," \\")
86
132
 
87
- cmd = 'zsh -c "'+ fglgo("rptrun") +' pgs 1 pais '+program+' \''+ params + ' \' "'
133
+ cmd = 'zsh -c "'+ fglgo("rptrun") +' api 1 pais '+program+' \''+ params + ' \' "'
88
134
  stdout, stderr, status_=Open3.capture3(cmd)
89
135
  [stdout]
90
136
  end
@@ -100,7 +146,7 @@ module PaisLegacy
100
146
  date_to = Date.parse("30/06/#{date_to.year}")
101
147
  date_from = Date.parse("01/07/#{date_to.year - 1}")
102
148
 
103
- cmd = ssh + ' "bash -c \"'+ fglgo("rptrun") +' pgs 1 pais {{program}} \'\{{printer}} \{{ccode}} \{{ledger}} \spar \N \2 \1 \2 \3 \4 \5 \{{date_from}} \{{date_to}} \' \""'
149
+ cmd = fglgo("rptrun") +' pgs 1 pais {{program}} \'\{{printer}} \{{ccode}} \{{ledger}} \spar \N \2 \1 \2 \3 \4 \5 \{{date_from}} \{{date_to}} \' '
104
150
  .gsub("{{program}}",program)
105
151
  .gsub("{{printer}}","SCREEN")
106
152
  .gsub("{{ccode}}","T1")
@@ -112,7 +158,7 @@ module PaisLegacy
112
158
  .gsub("{{report_type}}","1")
113
159
  .gsub("{{subaccs}}","N")
114
160
 
115
- out,_,_=Open3.capture2(cmd)
161
+ out=execute_ssh_command(cmd)
116
162
  [out]
117
163
  end
118
164
 
@@ -126,7 +172,7 @@ module PaisLegacy
126
172
  program="rglch01a"
127
173
  end
128
174
 
129
- cmd = ssh + ' "bash -c \"'+ fglgo("rptrun") +' pgs 1 pais {{program}} \'\{{printer}} \{{ccode}} \{{ledger}} \spar \{{account_from}} \{{account_to}} \{{date}}\ \1 \N\' \""'
175
+ cmd = fglgo("rptrun") +' pgs 1 pais {{program}} \'\{{printer}} \{{ccode}} \{{ledger}} \spar \{{account_from}} \{{account_to}} \{{date}}\ \1 \N\' '
130
176
  .gsub("{{program}}",program)
131
177
  .gsub("{{printer}}","SCREEN")
132
178
  .gsub("{{ccode}}","T1")
@@ -137,7 +183,7 @@ module PaisLegacy
137
183
  .gsub("{{report_type}}","1")
138
184
  .gsub("{{subaccs}}","N")
139
185
 
140
- out,_,_=Open3.capture2(cmd)
186
+ out=execute_ssh_command(cmd)
141
187
 
142
188
  # if from and to
143
189
  # out.split("\n").each_with_index do |line,index|
@@ -217,7 +263,11 @@ module PaisLegacy
217
263
  end
218
264
 
219
265
  def self.pais_api(file,ledger,options="")
220
- ssh + ' "bash -c \"' + fglgo(file) + ' {{ccode}} {{ledger}} {{options}}\""'
266
+ # ssh + ' "bash -c \"' + fglgo(file) + ' {{ccode}} {{ledger}} {{options}}\""'
267
+ # .gsub("{{ccode}}","T1")
268
+ # .gsub("{{ledger}}",ledger.to_s)
269
+ # .gsub("{{options}}",options)
270
+ fglgo(file) + ' {{ccode}} {{ledger}} {{options}}'
221
271
  .gsub("{{ccode}}","T1")
222
272
  .gsub("{{ledger}}",ledger.to_s)
223
273
  .gsub("{{options}}",options)
@@ -228,18 +278,18 @@ module PaisLegacy
228
278
  end
229
279
 
230
280
  def self.lasttrnno_read(ledger)
231
- out,_,_=Open3.capture2(lasttrnno_read_cmd(ledger.to_s))
281
+ out=execute_ssh_command(lasttrnno_read_cmd(ledger.to_s))
232
282
  out.strip
233
283
  end
234
284
 
235
285
  def self.gltr_read_all(ledger,start_date,end_date)
236
- cmd=ssh + ' "bash -c \"' + fglgo("gltr_read") + ' {{ccode}} {{ledger}} {{start_date}} {{end_date}}\""'
286
+ cmd=fglgo("gltr_read") + ' {{ccode}} {{ledger}} {{start_date}} {{end_date}}'
237
287
  .gsub("{{ccode}}","T1")
238
288
  .gsub("{{ledger}}",ledger.to_s)
239
289
  .gsub("{{start_date}}",start_date)
240
290
  .gsub("{{end_date}}",end_date)
241
291
 
242
- out,_,_=Open3.capture2(cmd)
292
+ out=execute_ssh_command(cmd)
243
293
  JSON.parse(out)
244
294
  end
245
295
 
@@ -259,7 +309,7 @@ module PaisLegacy
259
309
  # Example of P&L for ledger 336 with 2 periods
260
310
  # '\SCREEN \T1 \336 \spar \N \2 \1 \Y \3 \4 \5 \N \01/07/2021 \30/06/2022 \N \ALL \ALL \N \2'
261
311
  def self.rptrun(ledger,date_to,from="0001",to="9999",program="rglch01a")
262
- ssh + ' "bash -c \"'+ fglgo("rptrun") +' pgs 1 pais {{program}} \'\{{printer}} \{{ccode}} \{{ledger}} \spar \N \{{account_from}} \{{account_to}} \1 \{{report_type}} \{{subaccs}} \{{date}}\' N\""'
312
+ fglgo("rptrun") +' pgs 1 pais {{program}} \'\{{printer}} \{{ccode}} \{{ledger}} \spar \N \{{account_from}} \{{account_to}} \1 \{{report_type}} \{{subaccs}} \{{date}}\' N'
263
313
  .gsub("{{program}}",program)
264
314
  .gsub("{{printer}}","SCREEN")
265
315
  .gsub("{{ccode}}","T1")
@@ -288,7 +338,7 @@ module PaisLegacy
288
338
  end
289
339
 
290
340
  def self.common_ledger_date(cmd,ledger,end_date)
291
- cmd=ssh + ' "bash -c \"' + fglgo(cmd) + ' {{ccode}} {{ledger}} {{end_date}}\""'
341
+ cmd=fglgo(cmd) + ' {{ccode}} {{ledger}} {{end_date}}'
292
342
  .gsub("{{ccode}}","T1")
293
343
  .gsub("{{ledger}}",ledger.to_s)
294
344
  .gsub("{{end_date}}",end_date)
@@ -309,13 +359,13 @@ module PaisLegacy
309
359
  # Invoice related
310
360
  # --------------------------------------------------------------------------------
311
361
  def legacy_import_invoices(ledger,date)
312
- cmd=PaisLegacy::Pais.ssh + ' "bash -c \"' + PaisLegacy::Pais.fglgo("invo_read") + ' {{ccode}} {{ledger}} {{date}}\""'
362
+ cmd=PaisLegacy::Pais.fglgo("invo_read") + ' {{ccode}} {{ledger}} {{date}}'
313
363
  .gsub("{{ccode}}","T1")
314
364
  .gsub("{{ledger}}",ledger.to_s)
315
365
  .gsub("{{date}}",date)
316
366
 
317
367
  puts cmd
318
- out,_,_=Open3.capture2(cmd)
368
+ out=execute_ssh_command(cmd)
319
369
  out.delete!("\\\\")
320
370
  begin
321
371
  out = JSON.parse(out)
@@ -332,7 +382,7 @@ module PaisLegacy
332
382
 
333
383
  date = Date.parse(date).strftime("%d/%m/%Y")
334
384
 
335
- cmd=PaisLegacy::Pais.ssh + ' "bash -c \"' + PaisLegacy::Pais.fglgo("invo_read") + ' {{ccode}} {{ledger}} {{date}} {{inv_no}} {{client}}\""'
385
+ cmd=PaisLegacy::Pais.fglgo("invo_read") + ' {{ccode}} {{ledger}} {{date}} {{inv_no}} {{client}}'
336
386
  .gsub("{{ccode}}","T1")
337
387
  .gsub("{{ledger}}",ledger.to_s)
338
388
  .gsub("{{date}}",date)
@@ -340,7 +390,7 @@ module PaisLegacy
340
390
  .gsub("{{client}}",client)
341
391
 
342
392
  puts cmd
343
- out,_,_=Open3.capture2(cmd)
393
+ out=execute_ssh_command(cmd)
344
394
 
345
395
  begin
346
396
  out = JSON.parse(out)
@@ -366,21 +416,21 @@ module PaisLegacy
366
416
  # --------------------------------------------------------------------------------
367
417
 
368
418
  def self.table_indexes_cmd(table)
369
- ssh + ' "bash -c \"' + fglgo("db") + ' indexes\""'
419
+ fglgo("db") + ' indexes'
370
420
  end
371
421
 
372
422
  def self.table_indexes(table)
373
- out,_,_=Open3.capture2(table_indexes_cmd(table))
423
+ out=execute_ssh_command(table_indexes_cmd(table))
374
424
  out.split("\n").select{|i| i =~ /^#{table}_/}
375
425
  end
376
426
 
377
427
  def self.table_schema_cmd(table)
378
- ssh + ' "bash -c \"' + fglgo("db") + ' schema {{table}}\""'
428
+ fglgo("db") + ' schema {{table}}'
379
429
  .gsub("{{table}}",table)
380
430
  end
381
431
 
382
432
  def self.table_schema_raw(table)
383
- out,_,_=Open3.capture2(table_schema_cmd(table))
433
+ out=execute_ssh_command(table_schema_cmd(table))
384
434
  out.split("\n")
385
435
  end
386
436
 
@@ -392,12 +442,12 @@ module PaisLegacy
392
442
  end
393
443
 
394
444
  def self.table_data_cmd(table)
395
- ssh_with_tty + ' "bash -c \"' + fglgo("db") + ' data {{table}}\""'
445
+ fglgo("db") + ' data {{table}}'
396
446
  .gsub("{{table}}",table)
397
447
  end
398
448
 
399
449
  def self.table_data_raw(table)
400
- out,_,_=Open3.capture2(table_data_cmd(table))
450
+ out=execute_ssh_command(table_data_cmd(table))
401
451
  out.split("\n")
402
452
  end
403
453
 
@@ -416,20 +466,20 @@ module PaisLegacy
416
466
  end
417
467
 
418
468
  def self.table_unload_cmd(table)
419
- ssh + ' "bash -c \"' + fglgo("db") + ' unload {{table}}\""'
469
+ fglgo("db") + ' unload {{table}}'
420
470
  .gsub("{{table}}",table)
421
471
  end
422
472
 
423
473
  def self.table_unload(table)
424
- out,_,_=Open3.capture2(table_unload_cmd(table))
474
+ out=execute_ssh_command(table_unload_cmd(table))
425
475
  end
426
476
 
427
477
  def self.tables_cmd
428
- ssh + ' "bash -c \"' + fglgo("db") + ' tables\""'
478
+ fglgo("db") + ' tables'
429
479
  end
430
480
 
431
481
  def self.tables
432
- out,_,_=Open3.capture2(tables_cmd)
482
+ out=execute_ssh_command(tables_cmd)
433
483
  out.split("\n")
434
484
  end
435
485
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pais_legacy
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.0
4
+ version: 2.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Pope
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-17 00:00:00.000000000 Z
11
+ date: 2024-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug