drb_fileserver_plus 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 895cd54d016116b1a5389baad8e1750c794945f623222926fd9dea99e579d969
4
- data.tar.gz: e3627cbc9e8e758cf3f87d9d1ac4189544fb9db337640a3d13b94748082dee84
3
+ metadata.gz: 920882a50cd419bef05ecb0c67c2dbe51742c4669b48d30d286fc15271885609
4
+ data.tar.gz: 2f5785281225cf121c05f7a323e5e84304f3c0deab856eb4287cacec24e06311
5
5
  SHA512:
6
- metadata.gz: 31adfd56c36d2a2cf00c1ba3b5959167615da0e1e02e4674d1d99eae346db046989c4094dd3e674a77c8e5fe2094a0854399c06f8f38001776c5e05cc72d3395
7
- data.tar.gz: b1255ffaaa974b1045bfc61295da0b9e7b8c98ab483967a4a22675e3b0e1da89cf9762fa4b9885c57ad4d94c0c22fadf671b2bd40476e8178d45b8edd5a7474d
6
+ metadata.gz: a7631f9ac2ba21c3361b710264b9ce20803a4f4c02fe57d0217e28e3c8290b84f5ba1e106f1d158c648d34804ed240b27067d95a14216c46b3c26755b59348ac
7
+ data.tar.gz: ddd5c5191228f7884e2f91a6c6f9eacec531d55807cdaabab8a40442cc4486c7eace00df7db05c0a773f1f9d0896aa653a5ed0b4a1c9d5d024d88d4298fbfd29
checksums.yaml.gz.sig CHANGED
Binary file
@@ -10,160 +10,177 @@ 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|
52
69
  node = 'dfs://' + @nodes.first
53
- f.exists? File.join(node, fname)
70
+ f.exists? File.join(node, fname)
54
71
  end
55
72
 
56
- end
57
-
73
+ end
74
+
58
75
  def ls(path)
59
-
60
- file_op do |f|
76
+
77
+ file_op do |f|
61
78
  node = 'dfs://' + @nodes.first
62
79
  f.ls File.join(node, path)
63
80
  end
64
81
 
65
- end
66
-
82
+ end
83
+
67
84
  def mkdir(path)
68
85
 
69
86
  node = ''
70
-
71
- file_op do |f|
87
+
88
+ file_op do |f|
72
89
  node = 'dfs://' + @nodes.first
73
90
  f.mkdir File.join(node, path)
74
91
  end
75
-
92
+
76
93
  if @sps then
77
- @sps.notice "%s/mkdir: %s" % [@topic, File.join(node, path)]
94
+ @sps.notice "%s/mkdir: %s" % [@topic, File.join(node, path)]
78
95
  end
79
96
 
80
97
  end
81
-
98
+
82
99
  def mkdir_p(path)
83
100
 
84
- node = ''
101
+ node = ''
85
102
 
86
103
  file_op do |f|
87
104
  node = 'dfs://' + @nodes.first
88
105
  f.mkdir_p File.join(node, path)
89
106
  end
90
-
107
+
91
108
  if @sps then
92
109
  @sps.notice "%s/mkdir_p: %s" % [@topic, File.join(node, path)]
93
110
  end
94
-
111
+
95
112
  end
96
-
113
+
97
114
  def mv(path, path2)
98
115
 
99
116
  node = ''
100
-
117
+
101
118
  file_op do |f|
102
119
  node = 'dfs://' + @nodes.first
103
120
  f.mv File.join(node, path), File.join(node, path2)
104
121
  end
105
-
122
+
106
123
  if @sps then
107
- @sps.notice "%s/mv: %s %s" % [@topic, File.join(node, path),
124
+ @sps.notice "%s/mv: %s %s" % [@topic, File.join(node, path),
108
125
  File.join(node, path2)]
109
126
  end
110
127
 
111
- end
112
-
128
+ end
129
+
113
130
  def read(fname)
114
-
131
+
115
132
  file_op do |f|
116
133
  node = 'dfs://' + @nodes.first
117
134
  f.read File.join(node, fname)
118
135
  end
119
136
 
120
137
  end
121
-
138
+
122
139
  def rm(fname)
123
140
 
124
141
  node = ''
125
-
142
+
126
143
  file_op do |f|
127
144
  node = 'dfs://' + @nodes.first
128
145
  f.rm File.join(node, fname)
129
146
  end
130
-
147
+
131
148
  if @sps then
132
149
  @sps.notice "%s/rm: %s" % [@topic, File.join(node, fname)]
133
150
  end
134
151
 
135
- end
152
+ end
136
153
 
137
154
  def write(fname, content)
138
155
 
139
156
  node = ''
140
-
157
+
141
158
  file_op do |f|
142
159
  node = 'dfs://' + @nodes.first
143
160
  f.write File.join(node, fname), content
144
161
  end
145
-
162
+
146
163
  if @sps then
147
164
  @sps.notice("%s/write: %s" % [@topic, File.join(node, fname)])
148
165
  end
149
-
166
+
150
167
  end
151
-
168
+
152
169
  def zip(fname, a)
153
-
170
+
154
171
  node = ''
155
-
172
+
156
173
  file_op do |f|
157
174
  node = 'dfs://' + @nodes.first
158
175
  f.zip File.join(node, fname), a
159
176
  end
160
-
177
+
161
178
  if @sps then
162
179
  @sps.notice "%s/zip: %s" % [@topic, File.join(node, fname)]
163
180
  end
164
-
165
- end
166
-
181
+
182
+ end
183
+
167
184
 
168
185
  private
169
186
 
@@ -189,21 +206,21 @@ end
189
206
  class DRbFileServerPlus
190
207
 
191
208
 
192
- def initialize(host: 'localhost', port: '61010', nodes: [], sps_host: nil,
209
+ def initialize(host: 'localhost', port: '61010', nodes: [], sps_host: nil,
193
210
  sps_port: '59010', sps_topic: 'file')
194
211
 
195
212
  @host, @port, @nodes = host, port, nodes
196
-
213
+
197
214
  if sps_host then
198
- @sps = SPSPub.new(host: sps_host, port: sps_port)
215
+ @sps = SPSPub.new(host: sps_host, port: sps_port)
199
216
  @topic = sps_topic
200
217
  end
201
218
 
202
219
  end
203
220
 
204
221
  def start()
205
-
206
- DRb.start_service "druby://#{@host}:#{@port}",
222
+
223
+ DRb.start_service "druby://#{@host}:#{@port}",
207
224
  DRbFileServer.new(@nodes, sps: @sps, topic: @topic)
208
225
  DRb.thread.join
209
226
 
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.2
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-01-17 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