rxfhelper 1.3.1 → 1.4.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 +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