[Slim-Checkins] r33824 - in /7.7/trunk/platforms/readynas/addon_template: SQUEEZEBOX.html SQUEEZEBOX.js SQUEEZEBOX_HANDLER.pl language/en-us/SQUEEZEBOX.str
[email protected] Mon, 13 Feb 2012 14:05:25 -0000
| Newsgroups | gmane.music.equipment.slimdevices.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: mherger
Date: Mon Feb 13 06:05:24 2012
New Revision: 33824
URL: http://svn.slimdevices.com/slim?rev=33824&view=rev
Log:
Bug: n/a
Description: add cleanup options to ReadyNAS web UI
Modified:
7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX.html
7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX.js
7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX_HANDLER.pl
7.7/trunk/platforms/readynas/addon_template/language/en-us/SQUEEZEBOX.str
Modified: 7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX.html
URL: http://svn.slimdevices.com/slim/7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX.html?rev=33824&r1=33823&r2=33824&view=diff
==============================================================================
--- 7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX.html (original)
+++ 7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX.html Mon Feb 13 06:05:24 2012
@@ -1,2 +1,10 @@
<!-- User defined content -->
-<p><span id="sbwebui"><a href="" target="_blank">Free Your Music!</a></span> - <span id="LABEL_ACCESS_LMS"></span></p>
+<p><span id="sbwebui"><a href="" target="_blank">Free Your Music!</a></span> - <span id="LABEL_ACCESS_LMS" /></p>
+
+<hr style="height:1px;margin-bottom:10px">
+
+<form name="squeezebox_cleanup">
+ <div><input type="checkbox" name="cleanup_prefs"> <span id="LABEL_CLEANUP_PREFS" /></div>
+ <div style="margin-bottom:5px"><input type="checkbox" name="cleanup_cache"> <span id="LABEL_CLEANUP_CACHE" /></div>
+ <input type="button" id="BUTTON_CLEANUP_DO" onclick="SQUEEZEBOX_cleanup()" />
+</form>
Modified: 7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX.js
URL: http://svn.slimdevices.com/slim/7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX.js?rev=33824&r1=33823&r2=33824&view=diff
==============================================================================
--- 7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX.js (original)
+++ 7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX.js Mon Feb 13 06:05:24 2012
@@ -242,3 +242,19 @@
}
}
+// custom callback to remove Squeezebox prefs/cache etc.
+self.SQUEEZEBOX_cleanup = function()
+{
+ var prefs = document.forms.squeezebox_cleanup.cleanup_prefs.checked;
+ var cache = document.forms.squeezebox_cleanup.cleanup_cache.checked;
+
+ showProgressBar('wait');
+
+ $.ajax({
+ url: '/addons/SQUEEZEBOX/SQUEEZEBOX_HANDLER.pl?OPERATION=cleanup&command=' + (prefs ? 'prefs|' : '') + (cache ? 'cache|' : ''),
+ cache: false,
+ complete: function(jqXHR, textStatus) {
+ showProgressBar('default');
+ }
+ });
+}
Modified: 7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX_HANDLER.pl
URL: http://svn.slimdevices.com/slim/7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX_HANDLER.pl?rev=33824&r1=33823&r2=33824&view=diff
==============================================================================
--- 7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX_HANDLER.pl (original)
+++ 7.7/trunk/platforms/readynas/addon_template/SQUEEZEBOX_HANDLER.pl Mon Feb 13 06:05:24 2012
@@ -43,30 +43,17 @@
}
}
+# handle Squeezebox cleanup requests
+elsif ($operation eq 'cleanup') {
+ run_cleanup($command);
+}
+
print $xml_payload;
sub Show_SQUEEZEBOX_xml
{
my $xml_payload = "<payload><content>" ;
-
- # check if service is running or not
- my $enabled = GetServiceStatus("SQUEEZEBOX");
-
- # get SQUEEZEBOX_RUNTIME_SECS parameter from /etc/default_services
- my $run_time = GetValueFromServiceFile("SQUEEZEBOX_RUNTIME_SECS");
-
- if( $run_time eq "not_found" )
- {
- # set run_time to a default value
- $run_time = "60";
- }
-
- my $enabled_disabled = "disabled";
- $enabled_disabled = "enabled" if( $enabled );
-
- # return run_time value for HTML
- $xml_payload .= "<SQUEEZEBOX_RUNTIME_SECS><value>$run_time</value><enable>$enabled_disabled</enable></SQUEEZEBOX_RUNTIME_SECS>";
$xml_payload .= "</content><warning>No Warnings</warning><error>No Errors</error></payload>";
@@ -76,33 +63,40 @@
sub Modify_SQUEEZEBOX_xml
{
- my $run_time = $in{"SQUEEZEBOX_RUNTIME_SECS"};
- my $SPOOL;
my $xml_payload;
- $run_time = "60" if( $run_time eq "" );
-
- $SPOOL .= "
-if grep -q SQUEEZEBOX_RUNTIME_SECS /etc/default/services; then
- sed -i 's/SQUEEZEBOX_RUNTIME_SECS=.*/SQUEEZEBOX_RUNTIME_SECS=${run_time}/' /etc/default/services
-else
- echo 'SQUEEZEBOX_RUNTIME_SECS=${run_time}' >> /etc/default/services
-fi
-";
-
if( $in{SWITCH} eq "YES" )
{
$xml_payload = Toggle_Service_xml("SQUEEZEBOX", $enabled);
}
else
{
- spool_file("${ORDER_SERVICE}_SQUEEZEBOX", $SPOOL);
- empty_spool();
-
$xml_payload = _build_xml_set_payload_sync();
}
return $xml_payload;
}
+# custom handler to run Squeezebox cleanup tool
+sub run_cleanup
+{
+ my $command = shift;
+
+ my $params = '';
+
+ if ($command =~ /prefs/) {
+ $params .= ' --prefs';
+ }
+
+ if ($command =~ /cache/) {
+ $params .= ' --cache';
+ }
+
+ if ($params) {
+ my $SPOOL = "cd /usr/share/squeezeboxserver && ./cleanup.pl $params\n";
+ $SPOOL = "echo '$params' > /tmp/test.txt\n";
+ spool_file("${ORDER_SERVICE}_SQUEEZEBOX", $SPOOL);
+ empty_spool();
+ }
+}
1;
Modified: 7.7/trunk/platforms/readynas/addon_template/language/en-us/SQUEEZEBOX.str
URL: http://svn.slimdevices.com/slim/7.7/trunk/platforms/readynas/addon_template/language/en-us/SQUEEZEBOX.str?rev=33824&r1=33823&r2=33824&view=diff
==============================================================================
--- 7.7/trunk/platforms/readynas/addon_template/language/en-us/SQUEEZEBOX.str (original)
+++ 7.7/trunk/platforms/readynas/addon_template/language/en-us/SQUEEZEBOX.str Mon Feb 13 06:05:24 2012
@@ -1,2 +1,5 @@
LABEL_SERVICE_SQUEEZEBOX_INFO::::<b>Logitech Media Server</b> - Logitech Media Server is a cross-platform streaming media server that supports a wide range of formats, including AAC, AIFF, FLAC, Ogg Vorbis, MP3, WAV, and WMA.
-LABEL_ACCESS_LMS::::Access Logitech Media Server
+LABEL_ACCESS_LMS::::Access Logitech Media Server
+BUTTON_CLEANUP_DO::::Run Cleanup
+LABEL_CLEANUP_CACHE::::Clean cache folder, including media library database, artwork cache etc.
+LABEL_CLEANUP_PREFS::::Delete preference files