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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 603f8babc42f960057b4e113d722aa03262242843f6509ecdaa5784452e95641
4
- data.tar.gz: 1fcdd14c1d6ad31ef0f454acdaa00a1e112555148b5f547966a41f7eb420ab99
3
+ metadata.gz: 59f7523ac9718ba64625c68f5c0648384ae431ac33aa9290d595b26a8fc3331b
4
+ data.tar.gz: 0524b28fbeb8c854fa25e7a066c3b8ede656b72ccadee0a54fffc7c3a7a299fc
5
5
  SHA512:
6
- metadata.gz: 31545de8900fda1508bc68388d52ea578666f596cc54fc679a3d57d3de12b7add7214c566931fdc98c75ee5b4089a7a21f9f4ffef18520260072b88f5d024139
7
- data.tar.gz: eb1adee515e09c361c8d85b732e98096986b8ea0a2a5b85afd8c444878178e0d51c8a81a72d28cad4ec4a2f28d0aee9e2ce1e41e3f485ba3d8e1b4bf8b5e5e60
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[-1] + '.urp')
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[-2])
173
- if opts['progs'].include? fname + '.urp'
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[-2])
185
- if opts['progs'].include? fname + '.urp'
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{|f|File.basename(f,'.urp')} if get
382
- on resource do
383
- run GetProg, opts if get
384
- on resource 'fork' do
385
- run ForkProg, opts if put
386
- end
387
- on resource 'wait' do
388
- run WaitProg, opts if put
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="messsages">
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="file"/>
134
+ <resource relative="[a-zA-Z0-9_-]+" recursive="true">
135
+ <get out="properties"/>
136
136
  <post in="named_file"/>
137
- <resource relative="fork">
138
- <get/>
139
- <put/>
140
- </resource>
141
- <resource relative="wait">
142
- <put/>
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 => 8197) do |opts|
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
- url: /programs
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.1
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: 2023-01-19 00:00:00.000000000 Z
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
- - GPL-3.0
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.3.26
134
+ rubygems_version: 3.5.22
135
135
  signing_key:
136
136
  specification_version: 4
137
137
  summary: REST Server for Universal Robots