urest 0.99.1 → 0.99.2
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 +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
|