rxfreader 0.1.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc1d6de022df3f67e2e4bc5102af35e4142dcba47217cbda194619ab0fe8be33
4
- data.tar.gz: cc0fbbe4dfd9c277ac74ff5e8af018efdbdc46805ce259c791cacf093491de23
3
+ metadata.gz: 311d2c56e520c10db3346ecbd5505fe0ba2800f134e48e3774bf818e81aa430d
4
+ data.tar.gz: f503bf0a47d5eaaa3eb3b15826df65394924d6771976ed4c5591a9927f6414de
5
5
  SHA512:
6
- metadata.gz: 59e9bd0bd724ec2e423cf7487784d4f4fbd72409660489eb66ffeaface68e06e2993886a8faf8ee550cd7613ada879ed8dab25c76cfd0425b9751c8b9538d752
7
- data.tar.gz: fec43fcc386324a056a8722c1da8356e5a610e76e3f294f778dde42dc80152f805b7fc10f2a41cefdb5ea13afd999ab02fdd8ad0b827ff0f1e35ff2454049b25
6
+ metadata.gz: 3fab81c3e85bf5322c6d57d45fe92d35b5bb2f1be78f16ee61ad058c7deb62aeff61e449609ce1a39a4a85962ddfebb97df82263a46ed6ae63e0f9808361f856
7
+ data.tar.gz: 2fd297eb22877e7b90c3379302c8c6b625fd11e07dafc8fd67150a8e4b338ccff8c4dbac1ca1222c464d55fe5fa3c491fe4eb4d9a7885bd82c2501fff92b30d1
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/rxfreader.rb CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  require 'gpd-request'
7
7
  require 'rest-client'
8
- require 'drb_fileclient'
8
+ require 'drb_fileclient-reader'
9
9
 
10
10
 
11
11
  # RXF originally stands for Read XML File.
@@ -15,8 +15,50 @@ module RXFRead
15
15
 
16
16
  class FileX
17
17
 
18
+ def self.exists?(filename)
19
+
20
+ type = FileX.filetype(filename)
21
+
22
+ filex = case type
23
+ when :file
24
+ File
25
+ when :dfs
26
+ DfsFile
27
+ else
28
+ nil
29
+ end
30
+
31
+ return nil unless filex
32
+
33
+ filex.exists? filename
34
+
35
+ end
36
+
37
+
38
+ def self.filetype(x)
39
+
40
+ return :string if x.lines.length > 1
41
+
42
+ case x
43
+ when /^https?:\/\//
44
+ :http
45
+ when /^dfs:\/\//
46
+ :dfs
47
+ when /^file:\/\//
48
+ :file
49
+ else
50
+
51
+ if File.exists?(x) then
52
+ :file
53
+ else
54
+ :text
55
+ end
56
+
57
+ end
58
+ end
59
+
18
60
  def self.read(x)
19
- RXReader.read(x).first
61
+ RXFReader.read(x).first
20
62
  end
21
63
 
22
64
  end
@@ -29,65 +71,64 @@ end
29
71
  class RXFReader
30
72
  using ColouredText
31
73
 
32
- def self.read(x, h={})
33
-
74
+ def self.read(x, h={})
75
+
34
76
  opt = {debug: false, auto: false}.merge(h)
35
-
77
+
36
78
  debug = opt[:debug]
37
79
 
38
80
  raise RXFReaderException, 'nil found, expected a string' if x.nil?
39
81
 
40
82
  if x.strip[/^<(\?xml|[^\?])/] then
41
-
83
+
42
84
  [x, :xml]
43
85
 
44
86
  elsif x.lines.length == 1 then
45
87
 
46
88
  if x[/^https?:\/\//] then
47
-
89
+
48
90
  puts 'before GPDRequest'.info if debug
49
-
91
+
50
92
  r = if opt[:username] and opt[:password] then
51
93
  GPDRequest.new(opt[:username], opt[:password]).get(x)
52
94
  else
53
95
  response = RestClient.get(x)
54
96
  end
55
-
97
+
56
98
  case r.code
57
- when '404'
99
+ when '404'
58
100
  raise(RXFReaderException, "404 %s not found" % x)
59
- when '401'
101
+ when '401'
60
102
  raise(RXFReaderException, "401 %s unauthorized access" % x)
61
103
  end
62
-
104
+
63
105
  [r.body, :url]
64
-
106
+
65
107
  elsif x[/^dfs:\/\//] then
66
-
67
- r = DfsFile.read(x)
108
+
109
+ r = DfsFile.read(x).force_encoding('UTF-8')
68
110
  [r, :dfs]
69
-
111
+
70
112
 
71
113
  elsif x[/^file:\/\//] or File.exists?(x) then
72
-
114
+
73
115
  puts 'RXFHelper.read before File.read' if debug
74
116
  contents = File.read(File.expand_path(x.sub(%r{^file://}, '')))
75
-
117
+
76
118
  [contents, :file]
77
-
119
+
78
120
  elsif x =~ /\s/
79
121
  [x, :text]
80
122
  elsif DfsFile.exists?(x)
81
- [DfsFile.read(x), :dfs]
123
+ [DfsFile.read(x).force_encoding('UTF-8'), :dfs]
82
124
  else
83
125
  [x, :unknown]
84
126
  end
85
-
127
+
86
128
  else
87
129
 
88
130
  [x, :unknown]
89
131
  end
90
132
  end
91
-
92
- end
93
133
 
134
+ end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rxfreader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  ZhYGFOGLCyFBzNWg6gwMKjzpzDZB/H0+GTRB2c3+7DVuJWqyC5SbGnVLkT4Q8+B6
36
36
  Ws39Z48SRONdDWtHwAiUtnU+
37
37
  -----END CERTIFICATE-----
38
- date: 2022-02-18 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: gpd-request
@@ -83,20 +83,20 @@ dependencies:
83
83
  requirements:
84
84
  - - "~>"
85
85
  - !ruby/object:Gem::Version
86
- version: '0.7'
86
+ version: '0.1'
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 0.7.3
89
+ version: 0.1.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.7'
96
+ version: '0.1'
97
97
  - - ">="
98
98
  - !ruby/object:Gem::Version
99
- version: 0.7.3
99
+ version: 0.1.0
100
100
  description:
101
101
  email: digital.robertson@gmail.com
102
102
  executables: []
metadata.gz.sig CHANGED
Binary file