rxfhelper 1.3.3 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/lib/rxfhelper.rb +60 -344
  4. data.tar.gz.sig +0 -0
  5. metadata +25 -46
  6. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a2f7f9d0e410726761dbe92f6c6010e21341141239a6678dba24165479af459
4
- data.tar.gz: 285b66a4741ccb039cd8cb9e3fc7b9943d1f88c4897354b01112adc0b4d706c0
3
+ metadata.gz: 060d6a3577835a6a55a136dc720ee33c47cf31fa77a7861648e8e04ce8c3a121
4
+ data.tar.gz: 812266284826603f59cd99d752967ec8fa4ff8e418f41bd29c28b44b46d50056
5
5
  SHA512:
6
- metadata.gz: 965182721f1b4da5d03947ea3edd0ef180dd2932332a81ad68e4c6a6b06aa2c7a46776b574ccebb263a41fa3500502573432d1cbd907f98c72389eb7b2688d05
7
- data.tar.gz: e3a455cc808d22150233455273523accd214eec38318339b27fbd98a61db3559caa002b17c387d5f660fde27b0d4788e3eff319630703283cda12bd25d3b24d8
6
+ metadata.gz: '07890adc15380038c077c2b5f19a9800d6e8ef0d3cbd4be82cd6c614e12a70a970d164a5a1f0ab74c5904fa92606f89d713e01a429ad0d3746da6d0336f20f99'
7
+ data.tar.gz: aa32bbf3d5946ecb10569c08dae1eba84fd62f6691bd9100c5489325a4e9969f19de56e83d9230da8c199ca791f568e6b4942a60054b24cfdf6f0ab0c95140bd
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/rxfhelper.rb CHANGED
@@ -3,15 +3,10 @@
3
3
  # file: rxfhelper.rb
4
4
 
5
5
  require 'rsc'
6
- #require 'gpd-request'
7
- require 'rest-client'
8
- require 'mymedia_ftp'
6
+ require 'sps-pub'
9
7
  require 'drb_reg_client'
10
8
  require 'remote_dwsregistry'
11
- # Commented the following out to resolve the *uninitialized constant
12
- # Kvx::RXFHelperModule (NameError)*
13
- #require 'drb_fileclient'
14
- #require 'dir-to-xml'
9
+ require 'rxfileio'
15
10
 
16
11
 
17
12
 
@@ -19,143 +14,47 @@ require 'remote_dwsregistry'
19
14
  # using the Registry feaure to look up objects automatically.
20
15
 
21
16
  module RXFHelperModule
17
+ include RXFileIOModule
22
18
 
23
- class DirX
19
+ def FileX.exists?(s) RXFHelper.exists?(s) end
20
+ def FileX.filetype(x) RXFHelper.filetype(s) end
24
21
 
25
- def self.chdir(s) RXFHelper.chdir(s) end
26
- def self.glob(s) RXFHelper.glob(s) end
27
- def self.mkdir(s) RXFHelper.mkdir(s) end
28
- def self.pwd() RXFHelper.pwd() end
29
-
30
- end
31
-
32
- class FileX
33
-
34
- def self.chdir(s) RXFHelper.chdir(s) end
35
-
36
- def self.directory?(filename)
37
-
38
- type = self.filetype(filename)
39
-
40
- filex = case type
41
- when :file
42
- File
43
- when :dfs
44
- DfsFile
45
- else
46
- nil
47
- end
48
-
49
- return nil unless filex
50
-
51
- filex.directory? filename
52
-
53
- end
54
-
55
- def self.exists?(filename)
56
-
57
- type = self.filetype(filename)
58
-
59
- filex = case type
60
- when :file
61
- File
62
- when :dfs
63
- DfsFile
64
- when :sqlite
65
- host = filename[/(?<=^sqlite:\/\/)[^\/]+/]
66
- DRbObject.new nil, "druby://#{host}:57000"
67
- else
68
- nil
69
- end
70
-
71
- return nil unless filex
72
-
73
- filex.exists? filename
74
-
75
- end
76
-
77
- def self.exist?(filename)
78
- exists? filename
79
- end
80
-
81
- def self.filetype(x)
82
-
83
- return :string if x.lines.length > 1
84
-
85
- case x
86
- when /^rse:\/\//
87
- :rse
88
- when /^https?:\/\//
89
- :http
90
- when /^dfs:\/\//
91
- :dfs
92
- when /^sqlite:\/\//
93
- :sqlite
94
- when /^file:\/\//
95
- :file
96
- else
97
-
98
- if File.exists?(x) then
99
- :file
100
- else
101
- :text
102
- end
103
-
104
- end
105
- end
106
-
107
- def self.chmod(num, s) RXFHelper.chmod(num, s) end
108
- def self.cp(s, s2) RXFHelper.cp(s, s2) end
109
- def self.ls(s) RXFHelper.ls(s) end
110
- def self.mkdir(s) RXFHelper.mkdir(s) end
111
- def self.mkdir_p(s) RXFHelper.mkdir_p(s) end
112
- def self.mv(s, s2) RXFHelper.mv(s, s2) end
113
- def self.pwd() RXFHelper.pwd() end
114
- def self.read(x) RXFHelper.read(x).first end
115
- def self.rm(s) RXFHelper.rm(s) end
116
-
117
- def self.rm_r(s, force: false)
118
- RXFHelper.rm_r(s, force: force)
119
- end
120
-
121
- def self.ru(s) RXFHelper.ru(s) end
122
- def self.ru_r(s) RXFHelper.ru_r(s) end
123
-
124
- def self.touch(s, mtime: Time.now)
125
- RXFHelper.touch(s, mtime: mtime)
126
- end
127
-
128
- def self.write(x, s) RXFHelper.write(x, s) end
129
- def self.zip(s, a) RXFHelper.zip(s, a) end
130
-
131
- end
132
22
  end
133
23
 
24
+ =begin
25
+ # 20th February 2022 # JR
26
+ # the following code has been commented out because it appears to be redundant
134
27
  class URL
135
28
 
136
29
  def self.join(*a)
137
30
  a.map {|x| x.sub(/(?:^\/|\/$)/,'') }.join '/'
138
31
  end
139
32
  end
140
-
33
+ =end
141
34
 
142
35
  class RXFHelperException < Exception
143
36
  end
144
37
 
145
38
  # Read XML File Helper
146
39
  #
147
- class RXFHelper
40
+ class RXFHelper < RXFileIO
148
41
  using ColouredText
149
42
 
150
- @fs = :local
151
43
 
152
- def self.call(s)
44
+ def self.call(s, val)
45
+
46
+ if val then
47
+
48
+ name = s =~ /^sps:/ ? :pub : :set
49
+ self.method(name).call(s, val)
153
50
 
154
- if s =~ /=/ then
51
+ elsif s =~ /=/
155
52
 
156
53
  uri, val = s.split(/=/)
157
54
  self.set uri, val
158
55
 
56
+ els
57
+
159
58
  else
160
59
 
161
60
  self.get s
@@ -164,66 +63,54 @@ class RXFHelper
164
63
 
165
64
  end
166
65
 
167
- def self.chmod(permissions, s)
66
+ def self.exists?(filename)
168
67
 
169
- return unless permissions.is_a? Integer
170
- return unless s.is_a? String
68
+ type = self.filetype(filename)
171
69
 
172
- if s[/^dfs:\/\//] or @fs[0..2] == 'dfs' then
173
- DfsFile.chmod permissions, s
70
+ filex = case type
71
+ when :file
72
+ File
73
+ when :dfs
74
+ DfsFile
75
+ when :sqlite
76
+ host = filename[/(?<=^sqlite:\/\/)[^\/]+/]
77
+ DRbObject.new nil, "druby://#{host}:57000"
174
78
  else
175
- FileUtils.chmod permissions, s
79
+ nil
176
80
  end
177
81
 
178
- end
82
+ return nil unless filex
179
83
 
180
- def self.cp(s1, s2, debug: false)
84
+ filex.exists? filename
181
85
 
182
- puts 'inside RXFHelper.cp' if debug
86
+ end
183
87
 
184
- found = [s1,s2].grep /^\w+:\/\//
185
- puts 'found: ' + found.inspect if debug
88
+ def self.filetype(x)
186
89
 
187
- if found.any? then
90
+ return :string if x.lines.length > 1
188
91
 
189
- case found.first[/^\w+(?=:\/\/)/]
92
+ case x
93
+ when /^rse:\/\//
94
+ :rse
95
+ when /^https?:\/\//
96
+ :http
97
+ when /^dfs:\/\//
98
+ :dfs
99
+ when /^sqlite:\/\//
100
+ :sqlite
101
+ when /^file:\/\//
102
+ :file
103
+ else
190
104
 
191
- when 'dfs'
192
- DfsFile.cp(s1, s2)
193
- when 'ftp'
194
- MyMediaFTP.cp s1, s2
105
+ if File.exists?(x) then
106
+ :file
195
107
  else
196
-
108
+ :text
197
109
  end
198
110
 
199
- else
200
-
201
- FileUtils.cp s1, s2
202
-
203
111
  end
204
112
  end
205
113
 
206
- def self.chdir(x)
207
-
208
- # We can use @fs within chdir() to flag the current file system.
209
- # Allowing us to use relative paths with FileX operations instead
210
- # of explicitly stating the path each time. e.g. touch 'foo.txt'
211
- #
212
-
213
- if x[/^file:\/\//] or File.exists?(File.dirname(x)) then
214
-
215
- @fs = :local
216
- FileUtils.chdir x
217
-
218
- elsif x[/^dfs:\/\//]
219
-
220
- host = x[/(?<=dfs:\/\/)[^\/]+/]
221
- @fs = 'dfs://' + host
222
- DfsFile.chdir x
223
-
224
- end
225
-
226
- end
227
114
 
228
115
  def self.get(x)
229
116
 
@@ -244,57 +131,6 @@ class RXFHelper
244
131
 
245
132
  end
246
133
 
247
- def self.glob(s)
248
-
249
- if s[/^dfs:\/\//] then
250
- DfsFile.glob(s)
251
- else
252
- Dir.glob(s)
253
- end
254
-
255
- end
256
-
257
- def self.ls(x='*')
258
-
259
- return Dir[x] if File.exists?(File.dirname(x))
260
-
261
- case x[/^\w+(?=:\/\/)/]
262
- when 'file'
263
- Dir[x]
264
- when 'dfs'
265
- DfsFile.ls x
266
- when 'ftp'
267
- MyMediaFTP.ls x
268
- else
269
-
270
- end
271
-
272
- end
273
-
274
- def self.mkdir(x)
275
-
276
- if x[/^file:\/\//] or File.exists?(File.dirname(x)) then
277
- FileUtils.mkdir x
278
- elsif x[/^dfs:\/\//]
279
- DfsFile.mkdir x
280
- end
281
-
282
- end
283
-
284
- def self.mkdir_p(x)
285
-
286
- if x[/^dfs:\/\//] or @fs[0..2] == 'dfs' then
287
- DfsFile.mkdir_p x
288
- else
289
- FileUtils.mkdir_p x
290
- end
291
-
292
- end
293
-
294
- def self.mv(s1, s2)
295
- DfsFile.mv(s1, s2)
296
- end
297
-
298
134
  # used by self.read
299
135
  #
300
136
  def self.objectize(contents)
@@ -312,9 +148,11 @@ class RXFHelper
312
148
  obj
313
149
  end
314
150
 
315
- def self.pwd()
151
+ def self.pub(s, value)
316
152
 
317
- DfsFile.pwd
153
+ r = s.match(/(?<=sps:\/\/)(?<host>[^\/:]+):?(?<port>\d+)?\/(?<topic>.*)/)
154
+ SPSPub.notice "%s: %s" % [r[:topic], value], host: r[:host],
155
+ port: r[:port] || '59000'
318
156
 
319
157
  end
320
158
 
@@ -362,7 +200,7 @@ class RXFHelper
362
200
 
363
201
  elsif x[/^dfs:\/\//] then
364
202
 
365
- r = DfsFile.read(x)
203
+ r = DfsFile.read(x).force_encoding('UTF-8')
366
204
  [opt[:auto] ? objectize(r) : r, :dfs]
367
205
 
368
206
  elsif x[/^ftp:\/\//] then
@@ -394,7 +232,7 @@ class RXFHelper
394
232
  elsif x =~ /\s/
395
233
  [x, :text]
396
234
  elsif DfsFile.exists?(x)
397
- [DfsFile.read(x), :dfs]
235
+ [DfsFile.read(x).force_encoding('UTF-8'), :dfs]
398
236
  else
399
237
  [x, :unknown]
400
238
  end
@@ -405,113 +243,6 @@ class RXFHelper
405
243
  end
406
244
  end
407
245
 
408
- def self.rm(filename)
409
-
410
- case filename[/^\w+(?=:\/\/)/]
411
- when 'dfs'
412
- DfsFile.rm filename
413
- when 'ftp'
414
- MyMediaFTP.rm filename
415
- else
416
-
417
- if File.basename(filename) =~ /\*/ then
418
-
419
- Dir.glob(filename).each do |file|
420
-
421
- begin
422
- FileUtils.rm file
423
- rescue
424
- puts ('RXFHelper#rm: ' + file + ' is a Directory').warning
425
- end
426
-
427
- end
428
-
429
- else
430
- FileUtils.rm filename
431
- end
432
-
433
- end
434
-
435
- end
436
-
437
- def self.rm_r(filename, force: false)
438
-
439
- case filename[/^\w+(?=:\/\/)/]
440
- when 'dfs'
441
- DfsFile.rm_r filename, force: force
442
- #when 'ftp'
443
- # MyMediaFTP.rm filename
444
- else
445
-
446
- if File.basename(filename) =~ /\*/ then
447
-
448
- Dir.glob(filename).each do |file|
449
-
450
- begin
451
- FileUtils.rm_r file, force: force
452
- rescue
453
- puts ('RXFHelper#rm: ' + file + ' is a Directory').warning
454
- end
455
-
456
- end
457
-
458
- else
459
- FileUtils.rm_r filename, force: force
460
- end
461
-
462
- end
463
-
464
- end
465
-
466
- # recently_updated
467
- #
468
- def self.ru(path='.')
469
-
470
- case path[/^\w+(?=:\/\/)/]
471
- when 'dfs'
472
- DfsFile.ru path
473
-
474
- else
475
-
476
- DirToXML.new(path, recursive: false, verbose: false).latest
477
-
478
- end
479
-
480
- end
481
-
482
- # recently updated recursively check directories
483
- #
484
- def self.ru_r(path='.')
485
-
486
- case path[/^\w+(?=:\/\/)/]
487
- when 'dfs'
488
- DfsFile.ru_r path
489
-
490
- else
491
-
492
- DirToXML.new(path, recursive: true, verbose: false).latest
493
-
494
- end
495
-
496
- end
497
-
498
- def self.touch(filename, mtime: Time.now)
499
-
500
- if @fs[0..2] == 'dfs' then
501
- return DfsFile.touch(@fs + pwd + '/' + filename, mtime: mtime)
502
- end
503
-
504
- case filename[/^\w+(?=:\/\/)/]
505
- when 'dfs'
506
- DfsFile.touch filename, mtime: mtime
507
- #when 'ftp'
508
- # MyMediaFTP.touch filename
509
- else
510
- FileUtils.touch filename, mtime: mtime
511
- end
512
-
513
- end
514
-
515
246
  def self.write(location, s=nil)
516
247
 
517
248
  case location
@@ -543,22 +274,9 @@ class RXFHelper
543
274
 
544
275
  end
545
276
 
546
- def self.writeable?(source)
547
-
548
- return false if source.lines.length > 1
549
-
550
- if not source =~ /:\/\// then
551
-
552
- return true if File.exists? source
553
-
554
- else
555
-
556
- return true if source =~ /^dfs:/
557
-
558
- end
559
-
560
- return false
561
- end
277
+ =begin
278
+ # 20th February 2022 # JR
279
+ # the following code has been commented out because it appears to be redundant
562
280
 
563
281
  def self.absolute_url(page_url, item_location)
564
282
 
@@ -574,6 +292,7 @@ class RXFHelper
574
292
  File.join page_url[/.*\//], item_location
575
293
  end
576
294
  end
295
+ =end
577
296
 
578
297
  def self.post(uri, x=nil)
579
298
 
@@ -608,7 +327,4 @@ class RXFHelper
608
327
 
609
328
  end
610
329
 
611
- def self.zip(filename, a)
612
- DfsFile.zip(filename, a)
613
- end
614
330
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rxfhelper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.3
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  MrrH8cS6bqJRPQqEL1FsPmXfQpp86RvPSr0WqNSRnYEUCmqL0l2pYrXdPAyBLcji
36
36
  X1jPyhH0sl/QdPdaUnsigze+
37
37
  -----END CERTIFICATE-----
38
- date: 2022-02-11 00:00:00.000000000 Z
38
+ date: 2022-03-03 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: rsc
@@ -58,105 +58,85 @@ dependencies:
58
58
  - !ruby/object:Gem::Version
59
59
  version: 0.4.5
60
60
  - !ruby/object:Gem::Dependency
61
- name: drb_fileclient
61
+ name: remote_dwsregistry
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
- version: '0.7'
66
+ version: '0.4'
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 0.7.1
69
+ version: 0.4.1
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '0.7'
76
+ version: '0.4'
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: 0.7.1
79
+ version: 0.4.1
80
80
  - !ruby/object:Gem::Dependency
81
- name: mymedia_ftp
81
+ name: drb_reg_client
82
82
  requirement: !ruby/object:Gem::Requirement
83
83
  requirements:
84
84
  - - "~>"
85
85
  - !ruby/object:Gem::Version
86
- version: '0.3'
86
+ version: '0.2'
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 0.3.3
89
+ version: 0.2.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.3'
96
+ version: '0.2'
97
97
  - - ">="
98
98
  - !ruby/object:Gem::Version
99
- version: 0.3.3
99
+ version: 0.2.0
100
100
  - !ruby/object:Gem::Dependency
101
- name: remote_dwsregistry
101
+ name: rxfileio
102
102
  requirement: !ruby/object:Gem::Requirement
103
103
  requirements:
104
104
  - - "~>"
105
105
  - !ruby/object:Gem::Version
106
- version: '0.4'
106
+ version: '0.2'
107
107
  - - ">="
108
108
  - !ruby/object:Gem::Version
109
- version: 0.4.1
109
+ version: 0.2.2
110
110
  type: :runtime
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: '0.4'
116
+ version: '0.2'
117
117
  - - ">="
118
118
  - !ruby/object:Gem::Version
119
- version: 0.4.1
119
+ version: 0.2.2
120
120
  - !ruby/object:Gem::Dependency
121
- name: drb_reg_client
121
+ name: sps-pub
122
122
  requirement: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- version: 0.2.0
127
124
  - - "~>"
128
125
  - !ruby/object:Gem::Version
129
- version: '0.2'
130
- type: :runtime
131
- prerelease: false
132
- version_requirements: !ruby/object:Gem::Requirement
133
- requirements:
134
- - - ">="
135
- - !ruby/object:Gem::Version
136
- version: 0.2.0
137
- - - "~>"
138
- - !ruby/object:Gem::Version
139
- version: '0.2'
140
- - !ruby/object:Gem::Dependency
141
- name: rest-client
142
- requirement: !ruby/object:Gem::Requirement
143
- requirements:
126
+ version: '0.5'
144
127
  - - ">="
145
128
  - !ruby/object:Gem::Version
146
- version: 2.1.0
147
- - - "~>"
148
- - !ruby/object:Gem::Version
149
- version: '2.1'
129
+ version: 0.5.5
150
130
  type: :runtime
151
131
  prerelease: false
152
132
  version_requirements: !ruby/object:Gem::Requirement
153
133
  requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
156
- version: 2.1.0
157
134
  - - "~>"
158
135
  - !ruby/object:Gem::Version
159
- version: '2.1'
136
+ version: '0.5'
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: 0.5.5
160
140
  description:
161
141
  email: digital.robertson@gmail.com
162
142
  executables: []
@@ -183,8 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
163
  - !ruby/object:Gem::Version
184
164
  version: '0'
185
165
  requirements: []
186
- rubyforge_project:
187
- rubygems_version: 2.7.10
166
+ rubygems_version: 3.2.22
188
167
  signing_key:
189
168
  specification_version: 4
190
169
  summary: Helpful library for primarily reading the contents of a file either from
metadata.gz.sig CHANGED
Binary file