Skip to content

Commit

Permalink
Add --nomysqueezebox switch to disable all mysb.com related code.
Browse files Browse the repository at this point in the history
  • Loading branch information
mherger committed Feb 21, 2015
1 parent 506335f commit 0d26114
Show file tree
Hide file tree
Showing 23 changed files with 218 additions and 198 deletions.
8 changes: 6 additions & 2 deletions Slim/Buttons/Common.pm
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ use strict;
use Scalar::Util qw(blessed);

use Slim::Buttons::Alarm;
use Slim::Buttons::SqueezeNetwork;
use Slim::Buttons::Volume;
use Slim::Buttons::GlobalSearch;
use Slim::Buttons::XMLBrowser;
Expand Down Expand Up @@ -124,7 +123,12 @@ sub init {
Slim::Buttons::Power::init();
Slim::Buttons::ScreenSaver::init();
Slim::Buttons::GlobalSearch::init();
Slim::Buttons::SqueezeNetwork::init();

if (!main::NOMYSB) {
require Slim::Buttons::SqueezeNetwork;
Slim::Buttons::SqueezeNetwork::init();
}

Slim::Buttons::Synchronize::init();
Slim::Buttons::TrackInfo::init();
Slim::Buttons::RemoteTrackInfo::init();
Expand Down
2 changes: 1 addition & 1 deletion Slim/Buttons/Home.pm
Original file line number Diff line number Diff line change
Expand Up @@ -832,7 +832,7 @@ sub updateMenu {
text => $title,
};

my $url = $apps->{$app}->{url} =~ /^http/
my $url = ( main::NOMYSB || $apps->{$app}->{url} =~ /^http/ )
? $apps->{$app}->{url}
: Slim::Networking::SqueezeNetwork->url( $apps->{$app}->{url} );

Expand Down
1 change: 0 additions & 1 deletion Slim/Buttons/Settings.pm
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ use Slim::Buttons::Alarm;
use Slim::Utils::Misc;
use Slim::Utils::Prefs;
use Slim::Buttons::Information;
use Slim::Buttons::SqueezeNetwork;
use Slim::Networking::Discovery::Server;

my $prefs = preferences('server');
Expand Down
128 changes: 67 additions & 61 deletions Slim/Control/Commands.pm
Original file line number Diff line number Diff line change
Expand Up @@ -298,8 +298,12 @@ sub buttonCommand {
sub clientConnectCommand {
my $request = shift;
my $client = $request->client();

if ( $client->hasServ() ) {

if (main::NOMYSB) {
$request->setStatusBadDispatch();
return;
}
elsif ( !main::NOMYSB && $client->hasServ() ) {
my ($host, $packed);
$host = $request->getParam('_where');

Expand Down Expand Up @@ -2691,73 +2695,75 @@ sub rescanCommand {

sub setSNCredentialsCommand {
my $request = shift;

if ($request->isNotCommand([['setsncredentials']])) {
if ( main::NOMYSB || $request->isNotCommand([['setsncredentials']]) ) {
$request->setStatusBadDispatch();
return;
}

# get our parameters
my $username = $request->getParam('_username');
my $password = $request->getParam('_password');
my $sync = $request->getParam('sync');
my $client = $request->client;

# Sync can be toggled without username/password
if ( defined $sync ) {
$prefs->set('sn_sync', $sync);

if ( UNIVERSAL::can('Slim::Networking::SqueezeNetwork::PrefSync', 'shutdown') ) {
Slim::Networking::SqueezeNetwork::PrefSync->shutdown();
}
elsif ( !main::NOMYSB ) {

if ( $sync ) {
require Slim::Networking::SqueezeNetwork::PrefSync;
Slim::Networking::SqueezeNetwork::PrefSync->init();
# get our parameters
my $username = $request->getParam('_username');
my $password = $request->getParam('_password');
my $sync = $request->getParam('sync');
my $client = $request->client;

# Sync can be toggled without username/password
if ( defined $sync ) {
$prefs->set('sn_sync', $sync);

if ( UNIVERSAL::can('Slim::Networking::SqueezeNetwork::PrefSync', 'shutdown') ) {
Slim::Networking::SqueezeNetwork::PrefSync->shutdown();
}

if ( $sync ) {
require Slim::Networking::SqueezeNetwork::PrefSync;
Slim::Networking::SqueezeNetwork::PrefSync->init();
}
}
}

$password = sha1_base64($password);

# Verify username/password
if ($username) {

$request->setStatusProcessing();

Slim::Networking::SqueezeNetwork->login(
username => $username,
password => $password,
client => $client,
cb => sub {
$request->addResult('validated', 1);
$request->addResult('warning', $request->cstring('SETUP_SN_VALID_LOGIN'));
$password = sha1_base64($password);

# Verify username/password
if ($username) {

$request->setStatusProcessing();

# Shut down all SN activity
Slim::Networking::SqueezeNetwork->shutdown();

$prefs->set('sn_email', $username);
$prefs->set('sn_password_sha', $password);
Slim::Networking::SqueezeNetwork->login(
username => $username,
password => $password,
client => $client,
cb => sub {
$request->addResult('validated', 1);
$request->addResult('warning', $request->cstring('SETUP_SN_VALID_LOGIN'));

# Shut down all SN activity
Slim::Networking::SqueezeNetwork->shutdown();

# Start it up again if the user enabled it
Slim::Networking::SqueezeNetwork->init();

$request->setStatusDone();
},
ecb => sub {
$request->addResult('validated', 0);
$request->addResult('warning', $request->cstring('SETUP_SN_INVALID_LOGIN'));

$request->setStatusDone();
},
);
}

# stop SN integration if either mail or password is undefined
else {
$request->addResult('validated', 1);
$prefs->set('sn_email', '');
$prefs->set('sn_password_sha', '');
Slim::Networking::SqueezeNetwork->shutdown();
$prefs->set('sn_email', $username);
$prefs->set('sn_password_sha', $password);

# Start it up again if the user enabled it
Slim::Networking::SqueezeNetwork->init();

$request->setStatusDone();
},
ecb => sub {
$request->addResult('validated', 0);
$request->addResult('warning', $request->cstring('SETUP_SN_INVALID_LOGIN'));

$request->setStatusDone();
},
);
}

# stop SN integration if either mail or password is undefined
else {
$request->addResult('validated', 1);
$prefs->set('sn_email', '');
$prefs->set('sn_password_sha', '');
Slim::Networking::SqueezeNetwork->shutdown();
}
}
}

Expand Down
6 changes: 3 additions & 3 deletions Slim/Control/Jive.pm
Original file line number Diff line number Diff line change
Expand Up @@ -2973,7 +2973,7 @@ sub appMenus {

# use icon as defined by MySB to allow for white-label solutions
if ( my $icon = $apps->{$app}->{icon} ) {
$icon = Slim::Networking::SqueezeNetwork->url( $icon, 'external' ) unless $icon =~ /^http/;
$icon = Slim::Networking::SqueezeNetwork->url( $icon, 'external' ) unless main::NOMYSB || $icon =~ /^http/;
$clone->{window}->{'icon-id'} = Slim::Web::ImageProxy::proxiedImage($icon);
}

Expand All @@ -2993,11 +2993,11 @@ sub appMenus {
if ( $apps->{$app}->{type} eq 'opml' ) {
main::INFOLOG && $isInfo && $log->info( "App: $app, using generic OPML handler" );

my $url = $apps->{$app}->{url} =~ /^http/
my $url = ( main::NOMYSB || $apps->{$app}->{url} =~ /^http/ )
? $apps->{$app}->{url}
: Slim::Networking::SqueezeNetwork->url( $apps->{$app}->{url} );

my $icon = $apps->{$app}->{icon} =~ /^http/
my $icon = ( main::NOMYSB || $apps->{$app}->{icon} =~ /^http/ )
? $apps->{$app}->{icon}
: Slim::Networking::SqueezeNetwork->url( $apps->{$app}->{icon}, 'external' );

Expand Down
62 changes: 32 additions & 30 deletions Slim/Control/Queries.pm
Original file line number Diff line number Diff line change
Expand Up @@ -3263,37 +3263,39 @@ sub serverstatusQuery {

}

# return list of players connected to SN
my @sn_players = Slim::Networking::SqueezeNetwork::Players->get_players();

$count = scalar @sn_players || 0;

$request->addResult('sn player count', $count);

($valid, $start, $end) = $request->normalize(scalar($index), scalar($quantity), $count);

if ($valid) {

my $sn_cnt = 0;

for my $player ( @sn_players ) {
$request->addResultLoop(
'sn_players_loop', $sn_cnt, 'id', $player->{id}
);

$request->addResultLoop(
'sn_players_loop', $sn_cnt, 'name', $player->{name}
);

$request->addResultLoop(
'sn_players_loop', $sn_cnt, 'playerid', $player->{mac}
);

$request->addResultLoop(
'sn_players_loop', $sn_cnt, 'model', $player->{model}
);
if (!main::NOMYSB) {
# return list of players connected to SN
my @sn_players = Slim::Networking::SqueezeNetwork::Players->get_players();

$count = scalar @sn_players || 0;

$request->addResult('sn player count', $count);

($valid, $start, $end) = $request->normalize(scalar($index), scalar($quantity), $count);

if ($valid) {

my $sn_cnt = 0;

$sn_cnt++;
for my $player ( @sn_players ) {
$request->addResultLoop(
'sn_players_loop', $sn_cnt, 'id', $player->{id}
);

$request->addResultLoop(
'sn_players_loop', $sn_cnt, 'name', $player->{name}
);

$request->addResultLoop(
'sn_players_loop', $sn_cnt, 'playerid', $player->{mac}
);

$request->addResultLoop(
'sn_players_loop', $sn_cnt, 'model', $player->{model}
);

$sn_cnt++;
}
}
}

Expand Down
3 changes: 1 addition & 2 deletions Slim/Formats/XML.pm
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ use XML::Simple;

use Slim::Music::Info;
use Slim::Networking::SimpleAsyncHTTP;
use Slim::Networking::SqueezeNetwork;
use Slim::Player::Protocols::HTTP;
use Slim::Utils::Cache;
use Slim::Utils::Misc;
Expand Down Expand Up @@ -124,7 +123,7 @@ sub getFeedAsync {
}

# If the URL is on SqueezeNetwork, add session headers or login first
if ( Slim::Networking::SqueezeNetwork->isSNURL($url) && !$params->{no_sn} ) {
if ( !main::NOMYSB && Slim::Networking::SqueezeNetwork->isSNURL($url) && !$params->{no_sn} ) {

# Sometimes from the web we won't have a client, so pick a random one
$params->{client} ||= Slim::Player::Client::clientRandom();
Expand Down
1 change: 0 additions & 1 deletion Slim/Player/Player.pm
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ use Scalar::Util qw(blessed);

use base qw(Slim::Player::Client);

use Slim::Buttons::SqueezeNetwork;
use Slim::Hardware::IR;
use Slim::Player::Client;
use Slim::Player::Source;
Expand Down
Loading

0 comments on commit 0d26114

Please sign in to comment.