rsence-pre 2.1.0.13 → 2.1.0.14

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.1.0.13.pre
1
+ 2.1.0.14.pre
@@ -317,6 +317,7 @@ module RSence
317
317
  if @db_avail
318
318
  db_open
319
319
  # Deletes the session's row from the database
320
+ @db[:rsence_uploads].filter(:ses_id => ses_id).delete
320
321
  @db[:rsence_session].filter(:id => ses_id).delete
321
322
  db_close
322
323
  end
@@ -10,10 +10,62 @@
10
10
 
11
11
  require 'sequel'
12
12
 
13
- # @private Inner workings of Ticket
13
+ # Inner workings of Ticket
14
14
  module TicketService
15
+
16
+
17
+ =begin
18
+
19
+ # Here is an example how to implement "simple" upload value management.
20
+ #
21
+ # Define the component in yaml like this:
22
+ #
23
+ # - class: HUploader
24
+ # rect: [ 10, 10, 200, 24 ]
25
+ # bind: :values.upload
26
+ # options:
27
+ # label: Upload
28
+ # events:
29
+ # click: true
30
+ #
31
+ #
32
+ # Expects a value named :upload, it is defined like this in values.yaml:
33
+ #
34
+ # :upload:
35
+ # :responders:
36
+ # - :method: upload
37
+ #
38
+ #
39
+ class UploadPlugin < GUIPlugin
40
+ def init_ses_values( msg )
41
+ super
42
+ upload_id( msg )
43
+ end
44
+ def restore_ses_values( msg )
45
+ super
46
+ upload_id( msg )
47
+ end
48
+ def upload_id( msg )
49
+ upload_ticket = ticket.upload_key( msg, get_ses( msg, :upload ).value_id )
50
+ get_ses( msg, :upload ).set( msg, upload_ticket )
51
+ end
52
+ def upload( msg, value )
53
+ if value.data.start_with?('2:::') # upload is completed
54
+ ticket_id = value.data.split(':::')[1]
55
+ ticket_data = ticket.get_uploads( ticket_id, true )
56
+ ticket_data.each do |ticket_item|
57
+ file_write( bundle_path( ticket_item[:name], 'uploaded' ), ticket_item[:data] )
58
+ end
59
+ ticket.del_uploads( msg, ticket_id )
60
+ value.set( msg, '3:::' + ticket_id ) # upload is processed
61
+ elsif value.data.start_with?('4:::') # client wants a new id
62
+ upload_id( msg )
63
+ end
64
+ return true
65
+ end
66
+ end
67
+ =end
15
68
 
16
- # @private Inner workings of Ticket
17
69
  module Upload
18
70
 
19
71
  =begin
@@ -50,7 +102,7 @@ create table rsence_uploads (
50
102
  =end
51
103
  def upload(request,response)
52
104
 
53
- ticket_id = req.unparsed_uri.match(/^#{::RSence.config[:broker_urls][:u]}(.*)$/)[1]
105
+ ticket_id = request.unparsed_uri.match(/^#{::RSence.config[:broker_urls][:u]+'/'}(.*)$/)[1]
54
106
  value_id = request.query['value_id']
55
107
 
56
108
  if not @upload_slots[:by_id].has_key?(ticket_id)
@@ -144,7 +196,7 @@ create table rsence_uploads (
144
196
  else
145
197
  row_datas = @upload_slots[:rsence_uploads][row_id]
146
198
  end
147
- if row_datas.size == 1
199
+ if row_datas.count == 1
148
200
  row_data = row_datas.first
149
201
  row_hash = {
150
202
  :date => Time.at(row_data[:upload_date]),
@@ -167,7 +219,7 @@ create table rsence_uploads (
167
219
  else
168
220
  row_datas = @upload_slots[:rsence_uploads][row_id]
169
221
  end
170
- if row_datas.size == 1
222
+ if row_datas.count == 1
171
223
  row_data = row_datas.first
172
224
  row_hash = {
173
225
  :date => Time.at(row_data[:upload_date]),
@@ -66,7 +66,8 @@ class TicketPlugin < Plugin
66
66
  # @private Implements this part of the {RSence::Plugins::Servlet__ Servlet} API on a plugin to match the {#broker_urls}
67
67
  def match( uri, request_type )
68
68
  if request_type == :post
69
- return true if uri[0..2] == broker_urls[:u]
69
+ upload_match = uri.start_with?( broker_urls[:u] + '/')
70
+ return true if upload_match
70
71
  elsif request_type == :get
71
72
  if uri.match( /^#{broker_urls[:i]}/ )
72
73
  return true
@@ -118,7 +119,7 @@ class TicketPlugin < Plugin
118
119
  # @private Handles the upload request
119
120
  def post( req, res, ses )
120
121
  uri = req.fullpath
121
- if uri[0..2] == broker_urls[:u]
122
+ if uri.start_with?( broker_urls[:u] + '/')
122
123
  puts "/U: #{uri.inspect}" if RSence.args[:verbose]
123
124
  @ticketserve.upload( req, res )
124
125
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsence-pre
3
3
  version: !ruby/object:Gem::Version
4
- hash: 125
4
+ hash: 123
5
5
  prerelease: false
6
6
  segments:
7
7
  - 2
8
8
  - 1
9
9
  - 0
10
- - 13
11
- version: 2.1.0.13
10
+ - 14
11
+ version: 2.1.0.14
12
12
  platform: ruby
13
13
  authors:
14
14
  - Riassence Inc.
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2010-11-12 00:00:00 +02:00
19
+ date: 2010-11-17 00:00:00 +02:00
20
20
  default_executable: rsence-pre
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency