urest 0.99.1 → 0.99.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/urest.rb +39 -16
- data/lib/urest.xml +12 -9
- data/server/dev +1 -1
- data/server/dev.conf +0 -11
- data/server/urest.conf +1 -5
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59f7523ac9718ba64625c68f5c0648384ae431ac33aa9290d595b26a8fc3331b
|
4
|
+
data.tar.gz: 0524b28fbeb8c854fa25e7a066c3b8ede656b72ccadee0a54fffc7c3a7a299fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 149806a8d86363876785facda4db21cc8622a74774778a994b7a6519d64ef2e60c75489096f553d7482dd425c6656219c8b841c6c21af1b54be6221b62747ccd
|
7
|
+
data.tar.gz: 368541a3b7995bf19549aacbe9953566c095f5f7e3f9e7c03b71b4ff93df66de2fc79276f36dc7bfbe099a6939487f517bcdb5f18c721e021dcdbf4e33472002
|
data/lib/urest.rb
CHANGED
@@ -121,11 +121,16 @@ module UREST
|
|
121
121
|
|
122
122
|
def self::get_robot_programs(opts) #{{{
|
123
123
|
progs = []
|
124
|
+
once = false
|
124
125
|
begin
|
125
|
-
progs = opts['ssh'].exec!('ls ' + File.join(opts['dir'],'*.urp') + ' 2>/dev/null').split("\n")
|
126
|
+
progs = opts['ssh'].exec!('ls ' + File.join(opts['dir'],'*.urp') + ' ' + File.join(opts['dir'],'**','*.urp') + ' 2>/dev/null').split("\n")
|
126
127
|
progs.shift if progs[0] =~ /^bash:/
|
127
128
|
rescue => e
|
128
129
|
UREST::ssh_start opts
|
130
|
+
unless once
|
131
|
+
once = true
|
132
|
+
retry
|
133
|
+
end
|
129
134
|
end
|
130
135
|
progs
|
131
136
|
end #}}}
|
@@ -157,7 +162,7 @@ module UREST
|
|
157
162
|
class GetProg < Riddl::Implementation #{{{
|
158
163
|
def response
|
159
164
|
opts = @a[0]
|
160
|
-
fname = File.join(opts['dir'],@r[
|
165
|
+
fname = File.join(opts['dir'],@r[1..-1].join('/'))
|
161
166
|
if opts['progs'].include? fname
|
162
167
|
return Riddl::Parameter::Complex.new('file','application/octet-stream',UREST::download_program(opts,fname),File.basename(fname))
|
163
168
|
else
|
@@ -169,8 +174,8 @@ module UREST
|
|
169
174
|
class ForkProg < Riddl::Implementation #{{{
|
170
175
|
def response
|
171
176
|
opts = @a[0]
|
172
|
-
fname = File.join(opts['dir'],@r[
|
173
|
-
if opts['progs'].include? fname
|
177
|
+
fname = File.join(opts['dir'],@r[1..-2].join('/'))
|
178
|
+
if opts['progs'].include? fname
|
174
179
|
UREST::start_program(opts,fname)
|
175
180
|
else
|
176
181
|
@status = 403
|
@@ -181,8 +186,8 @@ module UREST
|
|
181
186
|
class WaitProg < Riddl::Implementation #{{{
|
182
187
|
def response
|
183
188
|
opts = @a[0]
|
184
|
-
fname = File.join(opts['dir'],@r[
|
185
|
-
if opts['progs'].include? fname
|
189
|
+
fname = File.join(opts['dir'],@r[1..-2].join('/'))
|
190
|
+
if opts['progs'].include? fname
|
186
191
|
if @h['CPEE_CALLBACK']
|
187
192
|
EM.defer do
|
188
193
|
UREST::start_program(opts,fname)
|
@@ -203,6 +208,16 @@ module UREST
|
|
203
208
|
end
|
204
209
|
end #}}}
|
205
210
|
|
211
|
+
class DeleteSafetyMessage < Riddl::Implementation #{{{
|
212
|
+
def response
|
213
|
+
opts = @a[0]
|
214
|
+
UREST::protect_reconnect_run(opts) do
|
215
|
+
opts['dash'].close_safety_popup
|
216
|
+
end
|
217
|
+
nil
|
218
|
+
end
|
219
|
+
end #}}}
|
220
|
+
|
206
221
|
class SetInt < Riddl::Implementation #{{{
|
207
222
|
def response
|
208
223
|
opts = @a[0]
|
@@ -246,7 +261,7 @@ module UREST
|
|
246
261
|
|
247
262
|
# Functionality for threading in loop
|
248
263
|
opts['doit_state'] = Time.now.to_i
|
249
|
-
opts['doit_progs'] = Time.now.to_i
|
264
|
+
opts['doit_progs'] = Time.now.to_i - 11
|
250
265
|
opts['doit_rtde'] = Time.now.to_i
|
251
266
|
|
252
267
|
# Serious comment (we do the obvious stuff)
|
@@ -338,6 +353,11 @@ module UREST
|
|
338
353
|
on resource 'model' do #{{{
|
339
354
|
run GetValue, opts['model'] if get
|
340
355
|
end #}}}
|
356
|
+
on resource 'messages' do #{{{
|
357
|
+
on resource 'safety' do
|
358
|
+
run DeleteSafetyMessage, opts if delete
|
359
|
+
end
|
360
|
+
end #}}}
|
341
361
|
on resource 'serialnumber' do #{{{
|
342
362
|
run GetValue, opts['sn'] if get
|
343
363
|
end #}}}
|
@@ -377,15 +397,18 @@ module UREST
|
|
377
397
|
run GetValue, opts['ss'] if get
|
378
398
|
end
|
379
399
|
end #}}}
|
380
|
-
on resource 'programs' do
|
381
|
-
run GetValues, opts['progs'].map{|
|
382
|
-
on resource do
|
383
|
-
run
|
384
|
-
on resource '
|
385
|
-
run
|
386
|
-
|
387
|
-
|
388
|
-
|
400
|
+
on resource 'programs' do |r|
|
401
|
+
run GetValues, opts['progs'].filter{ |e| e =~ /^\/#{r[:r].join('/')}\/[a-zA-Z0-9_-]+\.urp/ }.map{ |e| File.basename(e) } if get
|
402
|
+
on resource '[a-zA-Z0-9_-]+' do |r|
|
403
|
+
run GetValues, opts['progs'].filter{ |e| e =~ /^\/#{r[:r].join('/')}\/[a-zA-Z0-9_-]+\.urp/ }.map{ |e| File.basename(e) } if get
|
404
|
+
on resource '[a-zA-Z0-9_-]+\.urp' do
|
405
|
+
run GetProg, opts if get
|
406
|
+
on resource 'fork' do
|
407
|
+
run ForkProg, opts if put
|
408
|
+
end
|
409
|
+
on resource 'wait' do
|
410
|
+
run WaitProg, opts if put
|
411
|
+
end
|
389
412
|
end
|
390
413
|
end
|
391
414
|
end
|
data/lib/urest.xml
CHANGED
@@ -42,7 +42,7 @@
|
|
42
42
|
</message>
|
43
43
|
<resource>
|
44
44
|
<get out="properties"/>
|
45
|
-
<resource relative="
|
45
|
+
<resource relative="messages">
|
46
46
|
<resource relative="log">
|
47
47
|
<put in="text"/>
|
48
48
|
</resource>
|
@@ -131,15 +131,18 @@
|
|
131
131
|
</resource>
|
132
132
|
<resource relative="programs">
|
133
133
|
<get out="properties"/>
|
134
|
-
<resource>
|
135
|
-
<get out="
|
134
|
+
<resource relative="[a-zA-Z0-9_-]+" recursive="true">
|
135
|
+
<get out="properties"/>
|
136
136
|
<post in="named_file"/>
|
137
|
-
<resource relative="
|
138
|
-
<get/>
|
139
|
-
<
|
140
|
-
|
141
|
-
|
142
|
-
|
137
|
+
<resource relative="[a-zA-Z0-9_-]+\.urp">
|
138
|
+
<get out="file"/>
|
139
|
+
<resource relative="fork">
|
140
|
+
<get/>
|
141
|
+
<put/>
|
142
|
+
</resource>
|
143
|
+
<resource relative="wait">
|
144
|
+
<put/>
|
145
|
+
</resource>
|
143
146
|
</resource>
|
144
147
|
</resource>
|
145
148
|
</resource>
|
data/server/dev
CHANGED
@@ -3,7 +3,7 @@ $dev = true
|
|
3
3
|
require_relative '../lib/urest'
|
4
4
|
### add stuff if necessary
|
5
5
|
|
6
|
-
Riddl::Server.new(UREST::SERVER, :host => 'localhost', :port =>
|
6
|
+
Riddl::Server.new(UREST::SERVER, :host => 'localhost', :port => 8198) do |opts|
|
7
7
|
accessible_description true
|
8
8
|
cross_site_xhr true
|
9
9
|
process_out false
|
data/server/dev.conf
CHANGED
@@ -1,7 +1,3 @@
|
|
1
|
-
### OPC UA specific config
|
2
|
-
### --------------------------------------------------------------------------
|
3
|
-
namespace: https://lab.bpm.in.tum.de/ur1
|
4
|
-
|
5
1
|
### UR specific config
|
6
2
|
### --------------------------------------------------------------------------
|
7
3
|
ipadress: 131.159.6.109
|
@@ -9,10 +5,3 @@ sshport: 22
|
|
9
5
|
username: root
|
10
6
|
password: easybot
|
11
7
|
dir: /programs
|
12
|
-
|
13
|
-
### UR simulation specific config
|
14
|
-
### --------------------------------------------------------------------------
|
15
|
-
### if no password, password has to entered when server is started
|
16
|
-
# ipadress: localhost
|
17
|
-
# username: myusername
|
18
|
-
# url: /home/myusername/somedirectory/ursim-current/programs.UR10
|
data/server/urest.conf
CHANGED
@@ -1,14 +1,10 @@
|
|
1
|
-
### OPC UA specific config
|
2
|
-
### --------------------------------------------------------------------------
|
3
|
-
namespace: https://centurio.work/ur10
|
4
|
-
|
5
1
|
### UR specific config
|
6
2
|
### --------------------------------------------------------------------------
|
7
3
|
ipadress: 10.0.31.22
|
8
4
|
sshport: 22
|
9
5
|
username: root
|
10
6
|
password: easybot
|
11
|
-
|
7
|
+
dir: /programs
|
12
8
|
|
13
9
|
### UR simulation specific config
|
14
10
|
### --------------------------------------------------------------------------
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: urest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.99.
|
4
|
+
version: 0.99.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen eTM Mangler
|
8
8
|
autorequire:
|
9
9
|
bindir: tools
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: riddl
|
@@ -114,7 +114,7 @@ files:
|
|
114
114
|
- tools/urest
|
115
115
|
homepage: https://github.com/etm/urest
|
116
116
|
licenses:
|
117
|
-
-
|
117
|
+
- LGPL-3.0-or-later
|
118
118
|
metadata: {}
|
119
119
|
post_install_message:
|
120
120
|
rdoc_options: []
|
@@ -131,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
131
|
- !ruby/object:Gem::Version
|
132
132
|
version: '0'
|
133
133
|
requirements: []
|
134
|
-
rubygems_version: 3.
|
134
|
+
rubygems_version: 3.5.22
|
135
135
|
signing_key:
|
136
136
|
specification_version: 4
|
137
137
|
summary: REST Server for Universal Robots
|