bandshell 0.0.13 → 0.0.14
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.
- data/lib/bandshell/application/app.rb +6 -8
- data/lib/bandshell/application/views/layout.erb +11 -0
- data/lib/bandshell/application/views/netsettings.erb +89 -0
- data/lib/bandshell/application/views/password.erb +15 -0
- data/lib/bandshell/application/views/player_status.erb +6 -0
- data/lib/bandshell/application/views/problem.erb +17 -0
- data/lib/bandshell/application/views/setup.erb +33 -0
- metadata +8 -8
- data/lib/bandshell/application/views/main.haml +0 -6
- data/lib/bandshell/application/views/netsettings.haml +0 -64
- data/lib/bandshell/application/views/password.haml +0 -9
- data/lib/bandshell/application/views/player_status.haml +0 -8
- data/lib/bandshell/application/views/problem.haml +0 -15
- data/lib/bandshell/application/views/setup.haml +0 -25
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'sinatra/base'
|
3
|
-
require '
|
3
|
+
require 'erb'
|
4
4
|
require 'json'
|
5
5
|
require 'net/http'
|
6
6
|
require 'ipaddress'
|
@@ -31,8 +31,6 @@ class ConcertoConfigServer < Sinatra::Base
|
|
31
31
|
IPAddress.parse("::1")
|
32
32
|
]
|
33
33
|
|
34
|
-
set :haml, { :format => :html5, :layout => :main }
|
35
|
-
|
36
34
|
helpers do
|
37
35
|
# Get the return value of the method on obj if obj supports the method.
|
38
36
|
# Otherwise return the empty string.
|
@@ -162,7 +160,7 @@ class ConcertoConfigServer < Sinatra::Base
|
|
162
160
|
if network_ok
|
163
161
|
# Everything's up and running, we just don't know what
|
164
162
|
# our URL should be.
|
165
|
-
|
163
|
+
erb :setup
|
166
164
|
else
|
167
165
|
# The network settings are not sane, we don't have an IP.
|
168
166
|
# Redirect the user to the network configuration page to
|
@@ -191,7 +189,7 @@ class ConcertoConfigServer < Sinatra::Base
|
|
191
189
|
# render a page indicating that the concerto_url is no good.
|
192
190
|
# this page redirects to / every 5 seconds
|
193
191
|
get '/problem' do
|
194
|
-
|
192
|
+
erb :problem
|
195
193
|
end
|
196
194
|
|
197
195
|
get '/netconfig' do
|
@@ -211,7 +209,7 @@ class ConcertoConfigServer < Sinatra::Base
|
|
211
209
|
|
212
210
|
# view will grab what it can from our existing
|
213
211
|
# connection/addressing methods using value_from().
|
214
|
-
|
212
|
+
erb :netsettings, :locals => {
|
215
213
|
:connection_method => cm,
|
216
214
|
:addressing_method => am
|
217
215
|
}
|
@@ -296,7 +294,7 @@ class ConcertoConfigServer < Sinatra::Base
|
|
296
294
|
|
297
295
|
get '/password' do
|
298
296
|
protected!
|
299
|
-
|
297
|
+
erb :password
|
300
298
|
end
|
301
299
|
|
302
300
|
post '/password' do
|
@@ -315,7 +313,7 @@ class ConcertoConfigServer < Sinatra::Base
|
|
315
313
|
#Requires ffi, sys-uptime, and sys-proctable gems
|
316
314
|
get '/player_status' do
|
317
315
|
@proctable = ProcTable.ps
|
318
|
-
|
316
|
+
erb :player_status
|
319
317
|
end
|
320
318
|
|
321
319
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<html>
|
2
|
+
<head>
|
3
|
+
<title>Concerto Player Network Configuration</title>
|
4
|
+
<!-- this probably should not be relied upon long term... -->
|
5
|
+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
|
6
|
+
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<%= yield %>
|
10
|
+
</body>
|
11
|
+
</html>
|
@@ -0,0 +1,89 @@
|
|
1
|
+
<script src="network.js"></script>
|
2
|
+
<a href="/setup">Back to setup</a>
|
3
|
+
<h1>Concerto Player Network Configuration</h1>
|
4
|
+
<form method="post">
|
5
|
+
<h2>Connection Type</h2>
|
6
|
+
<select id="connection_type" name="connection_type" />
|
7
|
+
<% CONNECTION_METHODS.each do |cm| %>
|
8
|
+
<option value="<%= cm.basename %>"
|
9
|
+
<%= cm==connection_method.class?"selected":"" %>>
|
10
|
+
<%= cm.description %>
|
11
|
+
</option>
|
12
|
+
<% end %>
|
13
|
+
</select>
|
14
|
+
<div id="connection">
|
15
|
+
<div id="WiredConnection">
|
16
|
+
<h3>Wired Connection Settings</h3>
|
17
|
+
<p>
|
18
|
+
<label for="WiredConnection_interface_name">Interface Name</label>
|
19
|
+
<select id="interface_name" name="WiredConnection/interface_name">
|
20
|
+
<option value="">Auto Select</option>
|
21
|
+
<% Bandshell::WiredConnection.interfaces.each do |iface| %>
|
22
|
+
<option
|
23
|
+
value="<%=iface.name%>"
|
24
|
+
<%= value_from(connection_method, :interface_name)==iface.name?"selected":"" %>
|
25
|
+
>
|
26
|
+
<%= iface.name %> - <% iface.mac %>
|
27
|
+
</option>
|
28
|
+
<% end %>
|
29
|
+
</select>
|
30
|
+
</p>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<div id="WirelessConnection">
|
34
|
+
<h3>Wireless Connection Settings (no encryption)</h3>
|
35
|
+
<p>
|
36
|
+
<label for="WirelessConnection/interface_name">Interface Name</label>
|
37
|
+
<!-- FIXME both shouldn't have same ID -->
|
38
|
+
<select id="interface_name" name="WirelessConnection/interface_name">
|
39
|
+
<option value="">Auto Select</option>
|
40
|
+
<% Bandshell::WirelessConnection.interfaces.each do |iface| %>
|
41
|
+
<option
|
42
|
+
value="<%=iface.name%>"
|
43
|
+
<%=value_from(connection_method, :interface_name) == iface?"selected":""%>
|
44
|
+
>
|
45
|
+
<%= iface.name %> - <%= iface.mac %>
|
46
|
+
</option>
|
47
|
+
<% end %>
|
48
|
+
</select>
|
49
|
+
</p>
|
50
|
+
<p>
|
51
|
+
<label for="WirelessConnection_ssid">SSID</label>
|
52
|
+
<input type="text" name="WirelessConnection/ssid"
|
53
|
+
value="<%=value_from(connection_method, :ssid)%>" />
|
54
|
+
</p>
|
55
|
+
</div>
|
56
|
+
</div>
|
57
|
+
|
58
|
+
<div id="address">
|
59
|
+
<div id="DHCPAddressing"></div>
|
60
|
+
<div id="StaticAddressing">
|
61
|
+
<h3>Static Address Settings</h3>
|
62
|
+
<p>
|
63
|
+
<label for="StaticAddressing_address">Address</label>
|
64
|
+
<input type="text" name="StaticAddressing/address"
|
65
|
+
value="<%=value_from(addressing_method, :address %>" />
|
66
|
+
</p>
|
67
|
+
|
68
|
+
<p>
|
69
|
+
<label for="StaticAddressing_netmask">Netmask</label>
|
70
|
+
<input type="text" name="StaticAddressing/netmask"
|
71
|
+
value="<%=value_from(addressing_method, :netmask %>" />
|
72
|
+
</p>
|
73
|
+
|
74
|
+
<p>
|
75
|
+
<label for="StaticAddressing_netmask">Gateway</label>
|
76
|
+
<input type="text" name="StaticAddressing/gateway"
|
77
|
+
value="<%=value_from(addressing_method, :gateway %>" />
|
78
|
+
</p>
|
79
|
+
|
80
|
+
<p>
|
81
|
+
<label for="StaticAddressing_netmask">Nameservers (separate with commas or spaces)</label>
|
82
|
+
<input type="text" name="StaticAddressing/nameservers_flat"
|
83
|
+
value="<%=value_from(addressing_method, :nameservers_flat %>" />
|
84
|
+
</p>
|
85
|
+
|
86
|
+
</div>
|
87
|
+
</div>
|
88
|
+
<input type="submit" />
|
89
|
+
</form>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<form method="post">
|
2
|
+
<p>
|
3
|
+
<label for="newpass">New Password</label>
|
4
|
+
<input type="password" name="newpass" />
|
5
|
+
</p>
|
6
|
+
|
7
|
+
<p>
|
8
|
+
<label for="newpass_confirm">Confirm Password</label>
|
9
|
+
<input type="password" name="newpass_confirm" />
|
10
|
+
</p>
|
11
|
+
|
12
|
+
<p>
|
13
|
+
<input type="submit" value="Change Password" />
|
14
|
+
</p>
|
15
|
+
</form>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<script src="problem.js"></script>
|
2
|
+
<div class="error">
|
3
|
+
<p>
|
4
|
+
<img src="trollface.png" />
|
5
|
+
</p>
|
6
|
+
<h1>Problem?</h1>
|
7
|
+
<p>
|
8
|
+
Due to technical difficulties, this Concerto screen is currently not
|
9
|
+
operational. Please check again soon.
|
10
|
+
</p>
|
11
|
+
<p>
|
12
|
+
The Concerto installation at <%= concerto_url %> could not be reached.
|
13
|
+
</p>
|
14
|
+
<p>
|
15
|
+
<a href="/setup">Player Configuration</a>
|
16
|
+
</p>
|
17
|
+
</div>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<h1>Welcome to Concerto Player</h1>
|
2
|
+
<p>
|
3
|
+
You're seeing this because your Concerto player has not yet been configured.
|
4
|
+
We need the URL of your Concerto instance before we can get up and running.
|
5
|
+
</p>
|
6
|
+
|
7
|
+
<form method="post">
|
8
|
+
<p>
|
9
|
+
<label for="url">URL</label>
|
10
|
+
<input type="text" name="url" />
|
11
|
+
<input type="submit" value="OK" />
|
12
|
+
</p>
|
13
|
+
</form>
|
14
|
+
|
15
|
+
<p>
|
16
|
+
The IPv4 address of this screen appears to be: <%= my_ip %>
|
17
|
+
</p>
|
18
|
+
|
19
|
+
<p>
|
20
|
+
This page can be accessed remotely via http://<%= my_ip %>/setup
|
21
|
+
</p>
|
22
|
+
|
23
|
+
<p>
|
24
|
+
Username is root, default password is 'default'.
|
25
|
+
</p>
|
26
|
+
|
27
|
+
<p>
|
28
|
+
Also, you may want to
|
29
|
+
<a href="/netconfig">change network settings</a> or
|
30
|
+
<a href="/password">change the configuration password.</a>
|
31
|
+
</p>
|
32
|
+
|
33
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bandshell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.14
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -28,7 +28,7 @@ dependencies:
|
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
31
|
+
name: erb
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
none: false
|
34
34
|
requirements:
|
@@ -120,12 +120,12 @@ files:
|
|
120
120
|
- lib/bandshell/netconfig.rb
|
121
121
|
- lib/bandshell/config_store.rb
|
122
122
|
- lib/bandshell/application/config.ru
|
123
|
-
- lib/bandshell/application/views/
|
124
|
-
- lib/bandshell/application/views/
|
125
|
-
- lib/bandshell/application/views/
|
126
|
-
- lib/bandshell/application/views/
|
127
|
-
- lib/bandshell/application/views/
|
128
|
-
- lib/bandshell/application/views/
|
123
|
+
- lib/bandshell/application/views/netsettings.erb
|
124
|
+
- lib/bandshell/application/views/setup.erb
|
125
|
+
- lib/bandshell/application/views/player_status.erb
|
126
|
+
- lib/bandshell/application/views/problem.erb
|
127
|
+
- lib/bandshell/application/views/layout.erb
|
128
|
+
- lib/bandshell/application/views/password.erb
|
129
129
|
- lib/bandshell/application/app.rb
|
130
130
|
- lib/bandshell/application/public/network.js
|
131
131
|
- lib/bandshell/application/public/stylesheet.css
|
@@ -1,64 +0,0 @@
|
|
1
|
-
%script{:src=>"network.js"}
|
2
|
-
%a{:href=>"/setup"}="Back to setup"
|
3
|
-
%h1="Concerto Player Network Configuration"
|
4
|
-
%form{:method=>"post"}
|
5
|
-
%h2="Connection Type"
|
6
|
-
%select#connection_type{:name=>"connection_type"}
|
7
|
-
/ list out our available connection methods as options
|
8
|
-
/ set the html selected flag on the one that is currently
|
9
|
-
/ selected in the config
|
10
|
-
- CONNECTION_METHODS.each do |cm|
|
11
|
-
%option{:value=>cm.basename,
|
12
|
-
:selected=>(cm==connection_method.class)}=cm.description
|
13
|
-
#connection
|
14
|
-
#WiredConnection
|
15
|
-
%h3="Wired Connection Settings"
|
16
|
-
%p
|
17
|
-
%label{:for=>"WiredConnection_interface_name"}="Interface Name"
|
18
|
-
%select#interface_name{:name=>"WiredConnection/interface_name"}
|
19
|
-
%option{:value=>""}="Auto Select"
|
20
|
-
/ list out available interfaces and their MAC addresses
|
21
|
-
/ preselect one if there was one chosen in config
|
22
|
-
- Bandshell::WiredConnection.interfaces.each do |iface|
|
23
|
-
%option{:value=>iface.name, :selected=>value_from(connection_method, :interface_name)==iface.name}="#{iface.name} - #{iface.mac}"
|
24
|
-
#WirelessConnection
|
25
|
-
%h3="Wireless Connection Settings (no encryption)"
|
26
|
-
%p
|
27
|
-
%label{:for=>"WirelessConnection_interface_name"}="Interface Name"
|
28
|
-
%select#interface_name{:name=>"WirelessConnection/interface_name"}
|
29
|
-
%option{:value=>""}="Auto Select"
|
30
|
-
/ same as above but with the wireless interfaces
|
31
|
-
- Bandshell::WirelessConnection.interfaces.each do |iface|
|
32
|
-
%option{:value=>iface.name, :selected=>value_from(connection_method, :interface_name) == iface.name}="#{iface.name} - #{iface.mac}"
|
33
|
-
%p
|
34
|
-
%label{:for=>"WirelessConnection_ssid"}="SSID"
|
35
|
-
%input{:type=>"text", :name=>"WirelessConnection/ssid",
|
36
|
-
:value=>value_from(connection_method, :ssid)}
|
37
|
-
%h2="IP Address"
|
38
|
-
%select#addressing_type{:name=>"addressing_type"}
|
39
|
-
- ADDRESSING_METHODS.each do |am|
|
40
|
-
%option{:value=>am.basename,
|
41
|
-
:selected=>(am==addressing_method.class)}=am.description
|
42
|
-
#address
|
43
|
-
#DHCPAddressing
|
44
|
-
#StaticAddressing
|
45
|
-
%h3="Static Address Settings"
|
46
|
-
%p
|
47
|
-
%label{:for=>"StaticAddressing_address"}="Address"
|
48
|
-
%input{:type=>"text", :name=>"StaticAddressing/address",
|
49
|
-
:value=>value_from(addressing_method, :address)}
|
50
|
-
%p
|
51
|
-
%label{:for=>"StaticAddressing_netmask"}="Netmask"
|
52
|
-
%input{:type=>"text", :name=>"StaticAddressing/netmask",
|
53
|
-
:value=>value_from(addressing_method, :netmask)}
|
54
|
-
%p
|
55
|
-
%label{:for=>"StaticAddressing_gateway"}="Gateway"
|
56
|
-
%input{:type=>"text", :name=>"StaticAddressing/gateway",
|
57
|
-
:value=>value_from(addressing_method, :gateway)}
|
58
|
-
%p
|
59
|
-
%label{:for=>"StaticAddressing_address"}="Nameservers (separate with commas or spaces)"
|
60
|
-
%input{:type=>"text", :name=>"StaticAddressing/nameservers_flat",
|
61
|
-
:value=>value_from(addressing_method, :nameservers_flat)}
|
62
|
-
|
63
|
-
%input{:type=>"submit"}
|
64
|
-
|
@@ -1,9 +0,0 @@
|
|
1
|
-
%form{:method=>'post'}
|
2
|
-
%p
|
3
|
-
%label{:for=>'newpass'} New Password
|
4
|
-
%input{:type=>'password', :name=>'newpass'}
|
5
|
-
%p
|
6
|
-
%label{:for=>'newpass_confirm'} Confirm Password
|
7
|
-
%input{:type=>'password', :name=>'newpass_confirm'}
|
8
|
-
%p
|
9
|
-
%input{:type=>'submit', :value=>'Change Password'}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
%script{:src=>"problem.js"}
|
2
|
-
.error
|
3
|
-
%p
|
4
|
-
%img{:src=>"trollface.png"}
|
5
|
-
|
6
|
-
%h1 Problem?
|
7
|
-
%p
|
8
|
-
Due to technical difficulties, this Concerto screen is currently not
|
9
|
-
operational. Please check again soon.
|
10
|
-
%p
|
11
|
-
==The Concerto installation at #{concerto_url} could not be reached.
|
12
|
-
%p
|
13
|
-
If the URL needs to be changed, go back to
|
14
|
-
%a{:href=>"/setup"}
|
15
|
-
Player Configuration
|
@@ -1,25 +0,0 @@
|
|
1
|
-
%h1 Welcome to Concerto Player
|
2
|
-
%p
|
3
|
-
You're seeing this because your Concerto player has not yet been configured.
|
4
|
-
We need the URL of your Concerto instance before we can get up and running.
|
5
|
-
|
6
|
-
%form{:method=>'post'}
|
7
|
-
%p
|
8
|
-
%label{:for=>'url'} URL
|
9
|
-
%input{:type=>'text', :name=>'url'}
|
10
|
-
%input{:type=>'submit', :value=>'Here it is!'}
|
11
|
-
|
12
|
-
%p
|
13
|
-
The IPv4 address of this screen appears to be:
|
14
|
-
=my_ip
|
15
|
-
%p
|
16
|
-
==This page can be accessed remotely via http://#{my_ip}/setup
|
17
|
-
%p
|
18
|
-
Username is root, default password is 'default'.
|
19
|
-
%p
|
20
|
-
Also, you may want to
|
21
|
-
%a{:href=>'/netconfig'} change network settings
|
22
|
-
or
|
23
|
-
%a{:href=>'/password'} change the configuration password.
|
24
|
-
|
25
|
-
|