drb_fileserver_plus 0.3.1 → 0.3.5

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: 895cd54d016116b1a5389baad8e1750c794945f623222926fd9dea99e579d969
4
- data.tar.gz: e3627cbc9e8e758cf3f87d9d1ac4189544fb9db337640a3d13b94748082dee84
3
+ metadata.gz: ddf53d1ba8eb5eceeee7b82bcb1349d98c7a74894897fc3065f67f50505e8016
4
+ data.tar.gz: 8f867dfcdb2269d5edc2069fed2b3737278fe719987a34395619e8d1cbc1b372
5
5
  SHA512:
6
- metadata.gz: 31adfd56c36d2a2cf00c1ba3b5959167615da0e1e02e4674d1d99eae346db046989c4094dd3e674a77c8e5fe2094a0854399c06f8f38001776c5e05cc72d3395
7
- data.tar.gz: b1255ffaaa974b1045bfc61295da0b9e7b8c98ab483967a4a22675e3b0e1da89cf9762fa4b9885c57ad4d94c0c22fadf671b2bd40476e8178d45b8edd5a7474d
6
+ metadata.gz: f8fd8b711587995368338d0d68b278a0afe2c206f86ea9849dabc8d6a67b4cafa51296e1a5cbb5dd740f974d6b00501bfeaeaf54199494bdce8bfebae9fb120c
7
+ data.tar.gz: badbae8b42d177c68ad2750cb01ba61d6e2bdddd1875d1723884efa250e221395af051347d6f52fbae76139008021794ca6d8122c07c15c7a78c94640c741db5
checksums.yaml.gz.sig CHANGED
Binary file
@@ -10,160 +10,217 @@ require 'drb_fileclient'
10
10
 
11
11
 
12
12
  class DRbFileServer
13
-
13
+
14
14
  attr_accessor :nodes
15
15
 
16
16
  def initialize(nodes, sps: nil, topic: 'file')
17
-
17
+
18
18
  @nodes = nodes
19
19
  @failcount = 0
20
20
  @sps, @topic = sps, topic
21
-
21
+
22
+ end
23
+
24
+ def chmod(permissions, fname)
25
+
26
+ node = ''
27
+
28
+ file_op do |f|
29
+ node = 'dfs://' + @nodes.first
30
+ f.chmod permissions, File.join(node, fname)
31
+ end
32
+
33
+ if @sps then
34
+ @sps.notice "%s/chmod: %d %s" % [@topic, permissions,
35
+ File.join(node, fname)]
36
+ end
37
+
22
38
  end
23
-
39
+
40
+
24
41
  def cp(path, path2)
25
-
42
+
26
43
  node = ''
27
-
44
+
28
45
  file_op do |f|
29
- node = 'dfs://' + @nodes.first
46
+ node = 'dfs://' + @nodes.first
30
47
  f.cp File.join(node, path), File.join(node, path2)
31
48
  end
32
-
49
+
33
50
  if @sps then
34
- @sps.notice "%s/copy: %s %s" % [@topic, File.join(node, path),
51
+ @sps.notice "%s/copy: %s %s" % [@topic, File.join(node, path),
35
52
  File.join(node, path2)]
36
53
  end
37
54
 
38
- end
39
-
55
+ end
56
+
40
57
  def directory?(fname)
41
-
42
- file_op do |f|
58
+
59
+ file_op do |f|
43
60
  node = 'dfs://' + @nodes.first
44
- f.directory? File.join(node, fname)
61
+ f.directory? File.join(node, fname)
45
62
  end
46
63
 
47
- end
64
+ end
48
65
 
49
66
  def exists?(fname)
50
-
51
- file_op do |f|
67
+
68
+ file_op do |f|
69
+ node = 'dfs://' + @nodes.first
70
+ f.exists? File.join(node, fname)
71
+ end
72
+
73
+ end
74
+
75
+ def glob(path)
76
+
77
+ file_op do |f|
52
78
  node = 'dfs://' + @nodes.first
53
- f.exists? File.join(node, fname)
79
+ f.glob File.join(node, path)
54
80
  end
55
81
 
56
- end
57
-
82
+ end
83
+
84
+
58
85
  def ls(path)
59
-
60
- file_op do |f|
86
+
87
+ file_op do |f|
61
88
  node = 'dfs://' + @nodes.first
62
89
  f.ls File.join(node, path)
63
90
  end
64
91
 
65
- end
66
-
92
+ end
93
+
67
94
  def mkdir(path)
68
95
 
69
96
  node = ''
70
-
71
- file_op do |f|
97
+
98
+ file_op do |f|
72
99
  node = 'dfs://' + @nodes.first
73
100
  f.mkdir File.join(node, path)
74
101
  end
75
-
102
+
76
103
  if @sps then
77
- @sps.notice "%s/mkdir: %s" % [@topic, File.join(node, path)]
104
+ @sps.notice "%s/mkdir: %s" % [@topic, File.join(node, path)]
78
105
  end
79
106
 
80
107
  end
81
-
108
+
82
109
  def mkdir_p(path)
83
110
 
84
- node = ''
111
+ node = ''
85
112
 
86
113
  file_op do |f|
87
114
  node = 'dfs://' + @nodes.first
88
115
  f.mkdir_p File.join(node, path)
89
116
  end
90
-
117
+
91
118
  if @sps then
92
119
  @sps.notice "%s/mkdir_p: %s" % [@topic, File.join(node, path)]
93
120
  end
94
-
121
+
95
122
  end
96
-
123
+
97
124
  def mv(path, path2)
98
125
 
99
126
  node = ''
100
-
127
+
101
128
  file_op do |f|
102
129
  node = 'dfs://' + @nodes.first
103
130
  f.mv File.join(node, path), File.join(node, path2)
104
131
  end
105
-
132
+
106
133
  if @sps then
107
- @sps.notice "%s/mv: %s %s" % [@topic, File.join(node, path),
134
+ @sps.notice "%s/mv: %s %s" % [@topic, File.join(node, path),
108
135
  File.join(node, path2)]
109
136
  end
110
137
 
111
- end
112
-
138
+ end
139
+
113
140
  def read(fname)
114
-
141
+
115
142
  file_op do |f|
116
143
  node = 'dfs://' + @nodes.first
117
144
  f.read File.join(node, fname)
118
145
  end
119
146
 
120
147
  end
121
-
148
+
122
149
  def rm(fname)
123
150
 
124
151
  node = ''
125
-
152
+
126
153
  file_op do |f|
127
154
  node = 'dfs://' + @nodes.first
128
155
  f.rm File.join(node, fname)
129
156
  end
130
-
157
+
131
158
  if @sps then
132
159
  @sps.notice "%s/rm: %s" % [@topic, File.join(node, fname)]
133
160
  end
134
161
 
135
- end
162
+ end
163
+
164
+ def rm_r(fname, force: false)
165
+
166
+ node = ''
167
+
168
+ file_op do |f|
169
+ node = 'dfs://' + @nodes.first
170
+ f.rm_r File.join(node, fname), force: force
171
+ end
172
+
173
+ if @sps then
174
+ @sps.notice "%s/rm_r: %s" % [@topic, File.join(node, fname)]
175
+ end
176
+
177
+ end
178
+
179
+ def touch(fname, mtime: Time.now)
180
+
181
+ node = ''
182
+
183
+ file_op do |f|
184
+ node = 'dfs://' + @nodes.first
185
+ f.touch File.join(node, fname), mtime: mtime
186
+ end
187
+
188
+ if @sps then
189
+ @sps.notice "%s/touch: %s" % [@topic, File.join(node, fname)]
190
+ end
191
+
192
+ end
136
193
 
137
194
  def write(fname, content)
138
195
 
139
196
  node = ''
140
-
197
+
141
198
  file_op do |f|
142
199
  node = 'dfs://' + @nodes.first
143
200
  f.write File.join(node, fname), content
144
201
  end
145
-
202
+
146
203
  if @sps then
147
204
  @sps.notice("%s/write: %s" % [@topic, File.join(node, fname)])
148
205
  end
149
-
206
+
150
207
  end
151
-
208
+
152
209
  def zip(fname, a)
153
-
210
+
154
211
  node = ''
155
-
212
+
156
213
  file_op do |f|
157
214
  node = 'dfs://' + @nodes.first
158
215
  f.zip File.join(node, fname), a
159
216
  end
160
-
217
+
161
218
  if @sps then
162
219
  @sps.notice "%s/zip: %s" % [@topic, File.join(node, fname)]
163
220
  end
164
-
165
- end
166
-
221
+
222
+ end
223
+
167
224
 
168
225
  private
169
226
 
@@ -189,21 +246,21 @@ end
189
246
  class DRbFileServerPlus
190
247
 
191
248
 
192
- def initialize(host: 'localhost', port: '61010', nodes: [], sps_host: nil,
249
+ def initialize(host: 'localhost', port: '61010', nodes: [], sps_host: nil,
193
250
  sps_port: '59010', sps_topic: 'file')
194
251
 
195
252
  @host, @port, @nodes = host, port, nodes
196
-
253
+
197
254
  if sps_host then
198
- @sps = SPSPub.new(host: sps_host, port: sps_port)
255
+ @sps = SPSPub.new(host: sps_host, port: sps_port)
199
256
  @topic = sps_topic
200
257
  end
201
258
 
202
259
  end
203
260
 
204
261
  def start()
205
-
206
- DRb.start_service "druby://#{@host}:#{@port}",
262
+
263
+ DRb.start_service "druby://#{@host}:#{@port}",
207
264
  DRbFileServer.new(@nodes, sps: @sps, topic: @topic)
208
265
  DRb.thread.join
209
266
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drb_fileserver_plus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -11,52 +11,52 @@ cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgwODIyMTAzMzQ3WhcN
15
- MTkwODIyMTAzMzQ3WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQClKaO5
17
- OJW0sxpai9US4G/mLYTlk/F0KsII6NStyEmHkwFj8iWodj7eGZ60UQ1ZC38IcyBG
18
- 62sCsnjMUZOC1h3Ss9mIp8fYJfHPC9AxC71jMClbbTDBNGs/aBaIrvjcQ0qpmVh1
19
- wE+rC5K/Knt/r7/OHiMwX1NmOINAyidT1N2EGXCKB5VTH2GrmRHi4B9PTQ7FFdYW
20
- R9duTW7ka36Rh6eCOfpEr/icTxcUxAg6YuEgPlKw8qgbGl2T9FFQZtjplQg/UlOM
21
- dcGBIMojDDK/4A4dnHNLMYtchHssd7pVZ8eamgz/3rrJbzC7PFjIHc1Yh9rQ9/+z
22
- I3Js8CVNe4M8neCgtlploxC2XnbcPdrytRqYZUWYvL7i8LUvI3vYivGePSAZ9zej
23
- +LMlZhGDXu6ZgdbZ6EofLIiFuBGHxH/caD5hl1x5pIn+jL16DQhTMcIv/gGa6BYs
24
- 2zlhDk1fReBUXX+acDxFOhSnWlImNBZyJjrOwnPiGCwGQ3+YI1C8278lnukCAwEA
25
- AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU+LOUDasm
26
- JdneaJyCt2Cd55sH7a4wJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMTE3MjExODE0WhcN
15
+ MjMwMTE3MjExODE0WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDJmoH7
17
+ qtUrW6rfbZ7EC29fiedZY/da3pB3Y22dyx493ue53m7ijEIC9tVCja+3T7sQ7DOe
18
+ hAabX4KwhWTbq3SOHEzPeLqOgtciZPNRVo5g5UdOEp/7+ZSeBlm/BJO+RMbYfME+
19
+ NxpJB9BfW4vKgdYUU0mKZZhld6iFfpe/L9C7/OKXGy2EtHqs5/iHZcuhqC9c9dkS
20
+ zDR0FEWgRFvB2ZHoq0V5VmBeuC/0izTZMToYV2B/hQjSenkMSIO6s39Omf1ciRfs
21
+ wbZItRzNHfDgPJL4cuxWbNqrICluAP97a1k7FT/huhsjIIhFotw4fg7Z0Y9RkDZz
22
+ 3p3Zd+nK7sBQFHMIejdmCZAQ1L+hNYEoSKJgaaVWN1Edz0tIzPaepW42Jlc8czPi
23
+ XZI5Gpal/sobpP4b2PbD+101ZXALel9+VBdUoM4hJohlKbV6BB9TZ+ZKdZAu4G34
24
+ LqsTiUuPYVpifonAvvCK/sHZFv06rkPr+bJJwzSUBIDK3WnHKl2ak7iLy28CAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUMqiMl7vY
26
+ doLRPPh2YANnlg4pBAAwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
27
  c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
- BgkqhkiG9w0BAQsFAAOCAYEAoiyX2/xwOsj7KOku/r5y9ViD1yhaMUBBwhmIIvge
29
- EnMZt+FPBZmy1pz9+eIKBAWz6uCGRz2aAtnCwYVO+3QidMNQzDXTZZW7MzpT8APQ
30
- kV7FlzXcZI3+lXq9n+QQiHUKt3kwSY2+XXH8vPfCC0bZuRMNeJ/qXICnosuCkXhB
31
- ncMc3qbCU4Za/kPrYX++Z4fH1k2YxZ11yaZ02KYoLaoXlc2haApI44QtO6JQgw69
32
- Zd6EtP36AxDx32jZpfMCs8TVJZru0FD9BtonYIRc1iwm2pxoXNP8zbfyjgWyO+bu
33
- ZuhpGaqTxZeyrMDu5n3pdStASltSTpEXW7a+8PHsMHb+FKBCoQm/aAqoNj/HGe1c
34
- 9Q9C3/cpFcqxt4w1h99W8wKDVa7LxIxOurF/jTJCzUFVpbWw2keJvUvRHaZwkDci
35
- IzajbtHbQOY56M17vmJw7Y9ei8bGWzjVxfRUg33mVpGQQIWHA2JpaJ8+jpwrxdbF
36
- DfzPJWgIRbTOgE4v1XGQcqsO
28
+ BgkqhkiG9w0BAQsFAAOCAYEAcwXlaQYBtgbcM3aGSuse6SyR6v+PPcdAKj9l2JCa
29
+ 0E1ziB1NZdFe71iuA24zAmkWfMr1dvlsuQ5W1ETPO67yyxOw7MZzjTomLlhKW3Bv
30
+ FDbU8D7hoMjjTfOsdSWjwly/j8b2WnYOwFYHKqgc/Zj4J2PE13v4t44CQV1ofnd9
31
+ bvgUHjEWElZL8j/ADbNcc5b8NrOzq3lI9J3rQ2dyEOX00eRLMrOK9Gc3jLpn4vrP
32
+ ej8MaD6CTt/k36lVZTFOeBOzbulRTCfBct+ILDXpvCotrKgOqUa5Phyza1/k9+5k
33
+ eqd0/0Hhn955Wvk9EEElxPHTDfdMGxw6/wk2hhqG8RKPJONr67wbZVV8jTGqoZ8O
34
+ LXnxD2cEcXYHq0H40uYhF0kT+DClasFvaoKsHcfls3AwshME9UPCpIXZ9yqwWB5v
35
+ c2ssLUM61klg6aqPwYrT/aNWFy0+dGbhfdCqFHED5VAqdJ9CDJK+ftycl4+P8wjl
36
+ BN8isQ//6vwALlrUdDbZ2v7l
37
37
  -----END CERTIFICATE-----
38
- date: 2019-02-18 00:00:00.000000000 Z
38
+ date: 2022-02-09 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: drb_fileclient
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '0.4'
47
44
  - - ">="
48
45
  - !ruby/object:Gem::Version
49
- version: 0.4.5
46
+ version: 0.6.0
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0.6'
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - "~>"
55
- - !ruby/object:Gem::Version
56
- version: '0.4'
57
54
  - - ">="
58
55
  - !ruby/object:Gem::Version
59
- version: 0.4.5
56
+ version: 0.6.0
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '0.6'
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: sps-pub
62
62
  requirement: !ruby/object:Gem::Requirement
@@ -78,7 +78,7 @@ dependencies:
78
78
  - !ruby/object:Gem::Version
79
79
  version: 0.5.5
80
80
  description:
81
- email: james@jamesrobertson.eu
81
+ email: digital.robertson@gmail.com
82
82
  executables: []
83
83
  extensions: []
84
84
  extra_rdoc_files: []
@@ -103,7 +103,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  requirements: []
106
- rubygems_version: 3.0.1
106
+ rubyforge_project:
107
+ rubygems_version: 2.7.10
107
108
  signing_key:
108
109
  specification_version: 4
109
110
  summary: Designed to provide fault tolerant access to a DRb file server when 2 or
metadata.gz.sig CHANGED
Binary file