rxfhelper 1.3.1 → 1.4.0

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