bandshell 1.0 → 1.1

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
  SHA1:
3
- metadata.gz: beea7cdea7691d147af26efd6d0f67fe84063c87
4
- data.tar.gz: 8773553c0b3c9fe6cbab5995c177a167df00d049
3
+ metadata.gz: 4f98087fc1c8d04747df09f03de6bbc00e57ba2e
4
+ data.tar.gz: b0832fa74e5106bf33e8c7144df3ec53204dda8a
5
5
  SHA512:
6
- metadata.gz: 4190b397f27b8e568d75f44749f3b01069629f2f7f39ecb470cb22b3b9a848793615330ea276f8846a542b425cefee3f88c8ca7aae7bc4e1e7aaf7534d088b92
7
- data.tar.gz: 3bda390fcf5df6debc588b81e6474e139c693306a95a57e81e1791ff1cc5c9930ee5ce1785191f905246e430457ea3d247625ed1b3fe3a00ed0f2bb30b79c21f
6
+ metadata.gz: 897c2197b7a44f22579a896da40f3ceeec9ff01a3730d3799992e1781365ff14a24dc6632ec20aed29211f93bb736a6c99295fa4ea8f429b9891549aba9b3ace
7
+ data.tar.gz: bf6c27fa4301422f1ba43cabc1b24604078eabb6e3b29c2b1085d1d25504bc9ea66668b073f434ce67308f689e77f4e58c65bca65fcb1cf261ff4067f5df588c
@@ -155,12 +155,16 @@ class ConcertoConfigServer < Sinatra::Base
155
155
  begin
156
156
  # this will fail with Errno::something if server
157
157
  # can't be reached
158
- response = Net::HTTP.get_response(URI(url))
159
- if response.code != "200"
158
+ uri = URI(url)
159
+ Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
160
+ request = Net::HTTP::Get.new uri.request_uri
161
+ response = http.request request
160
162
  # also bomb out if we don't get an OK response
161
163
  # maybe demanding 200 is too strict here?
162
- fail
163
- end
164
+ if response.code != "200"
165
+ fail
166
+ end
167
+ end
164
168
 
165
169
  # if we get here we have a somewhat valid URL to go to
166
170
  true
@@ -74,6 +74,16 @@ module Bandshell
74
74
  @screen_url = nil
75
75
  @screen_id =nil
76
76
  end
77
+
78
+ def get_https_response(uri, options={})
79
+ Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
80
+ request = Net::HTTP::Get.new uri.request_uri
81
+ unless options[:user].nil? && options[:pass].nil?
82
+ request.basic_auth options[:user], options[:pass]
83
+ end
84
+ response = http.request request
85
+ end
86
+ end
77
87
 
78
88
  # Get array of data about the screen from the server
79
89
  # This can only succeed once we have obtained a valid auth token.
@@ -112,47 +122,42 @@ module Bandshell
112
122
  end
113
123
  end
114
124
 
115
-
116
125
  def get_with_auth(uri, user, pass)
117
- begin
118
- req = Net::HTTP::Get.new(uri.to_s)
119
- req.basic_auth user, pass
120
- res = Net::HTTP.start(uri.hostname, uri.port) { |http|
121
- http.request(req)
122
- }
126
+ begin
127
+ response = get_https_response(uri, {:user => user, :pass => pass})
123
128
  rescue StandardError => ex
124
129
  puts "get_with_auth: Failed to access concerto server:\n"+
125
130
  " "+ex.message.chomp
126
- res = nil
131
+ response = nil
127
132
  end
128
- res
133
+ response
129
134
  end
130
135
 
131
136
  def request_temp_token!
132
137
  begin
133
- response = Net::HTTP.get_response(frontend_api_uri)
138
+ response = get_https_response(frontend_api_uri)
139
+
140
+ if response.code != "200"
141
+ puts "request_temp_token: Unsuccessful request, HTTP "+response.code+"."
142
+ return false
143
+ end
144
+
145
+ data=JSON.parse(response.body)
146
+ if data.has_key? 'screen_temp_token'
147
+ # We modify the token by appending an "s".
148
+ # Concerto allows this and concerto-hardware will use it to
149
+ # recognize that the user is setting up a managed player in
150
+ # addition to a simple screen.
151
+ token = data['screen_temp_token'] + 's'
152
+ ConfigStore.write_config('auth_temp_token',token)
153
+ return true
154
+ end
155
+ return false
134
156
  rescue StandardError => ex
135
157
  puts "request_temp_token: Failed to access concerto server:\n"+
136
158
  " "+ex.message.chomp
137
159
  return false
138
160
  end
139
-
140
- if response.code != "200"
141
- puts "request_temp_token: Unsuccessful request, HTTP "+response.code+"."
142
- return false
143
- end
144
-
145
- data=JSON.parse(response.body)
146
- if data.has_key? 'screen_temp_token'
147
- # We modify the token by appending an "s".
148
- # Concerto allows this and concerto-hardware will use it to
149
- # recognize that the user is setting up a managed player in
150
- # addition to a simple screen.
151
- token = data['screen_temp_token'] + 's'
152
- ConfigStore.write_config('auth_temp_token',token)
153
- return true
154
- end
155
- return false
156
161
  end
157
162
 
158
163
  # If the temp token has been accepted, convert it into an auth token,
@@ -165,31 +170,31 @@ module Bandshell
165
170
  return :stat_err if temp_token.empty? #should not happen
166
171
 
167
172
  query = URI.join(frontend_api_uri,"?screen_temp_token="+temp_token)
173
+ begin
174
+ response = get_https_response(query)
175
+
176
+ if response.code != "200"
177
+ puts "check_temp_token: Unsuccessful request, HTTP "+response.code+"."
178
+ return :stat_serverr
179
+ end
180
+
181
+ data=JSON.parse(response.body)
182
+ if data.has_key? 'screen_auth_token'
183
+ ConfigStore.write_config('auth_token',data['screen_auth_token'])
184
+ ConfigStore.write_config('auth_temp_token','')
185
+ return :stat_success
186
+ elsif data.has_key? 'screen_temp_token'
187
+ # Indicates the API was accessed successfuly but the temp token
188
+ # has not been entered yet.
189
+ return :stat_success
190
+ end
191
+ return :stat_err
168
192
 
169
- begin
170
- response = Net::HTTP.get_response(query)
171
193
  rescue StandardError => ex
172
194
  puts "check_temp_token: Failed to access concerto server:\n"+
173
195
  " "+ex.message.chomp
174
196
  return :stat_serverr
175
- end
176
-
177
- if response.code != "200"
178
- puts "check_temp_token: Unsuccessful request, HTTP "+response.code+"."
179
- return :stat_serverr
180
- end
181
-
182
- data=JSON.parse(response.body)
183
- if data.has_key? 'screen_auth_token'
184
- ConfigStore.write_config('auth_token',data['screen_auth_token'])
185
- ConfigStore.write_config('auth_temp_token','')
186
- return :stat_success
187
- elsif data.has_key? 'screen_temp_token'
188
- # Indicates the API was accessed successfuly but the temp token
189
- # has not been entered yet.
190
- return :stat_success
191
- end
192
- return :stat_err
197
+ end
193
198
  end
194
199
 
195
200
  public
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bandshell
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: '1.1'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Concerto Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-27 00:00:00.000000000 Z
11
+ date: 2015-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: sys-uptime
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sys-proctable
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: ipaddress
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: daemons
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: Client-side tools for Concerto digital signage
@@ -88,6 +88,9 @@ executables:
88
88
  extensions: []
89
89
  extra_rdoc_files: []
90
90
  files:
91
+ - bin/bandshell-timer.rb
92
+ - bin/bandshelld
93
+ - bin/concerto_netsetup
91
94
  - lib/bandshell/application/app.rb
92
95
  - lib/bandshell/application/config.ru
93
96
  - lib/bandshell/application/public/favicon.ico
@@ -147,9 +150,6 @@ files:
147
150
  - lib/bandshell/netconfig.rb
148
151
  - lib/bandshell/player_info.rb
149
152
  - lib/bandshell/screen_control.rb
150
- - bin/bandshell-timer.rb
151
- - bin/bandshelld
152
- - bin/concerto_netsetup
153
153
  homepage:
154
154
  licenses: []
155
155
  metadata: {}
@@ -159,17 +159,17 @@ require_paths:
159
159
  - lib
160
160
  required_ruby_version: !ruby/object:Gem::Requirement
161
161
  requirements:
162
- - - '>='
162
+ - - ">="
163
163
  - !ruby/object:Gem::Version
164
164
  version: '0'
165
165
  required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  requirements:
167
- - - '>='
167
+ - - ">="
168
168
  - !ruby/object:Gem::Version
169
169
  version: '0'
170
170
  requirements: []
171
171
  rubyforge_project:
172
- rubygems_version: 2.0.14
172
+ rubygems_version: 2.2.2
173
173
  signing_key:
174
174
  specification_version: 4
175
175
  summary: Concerto Client Tools