Author: michael
Date: Fri Feb  5 08:13:44 2010
New Revision: 8461

URL: http://svn.slimdevices.com/jive?rev=8461&view=rev
Log:
Bug: n/a
Description: don't use os.execute() unless really needed. Catch failure to do 
so in case command can't be run lack of memory.

Modified:
    
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SetupStorage/SetupStorageApplet.lua
    
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SetupStorage/strings.txt

Modified: 
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SetupStorage/SetupStorageApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SetupStorage/SetupStorageApplet.lua?rev=8461&r1=8460&r2=8461&view=diff
==============================================================================
--- 
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SetupStorage/SetupStorageApplet.lua
 (original)
+++ 
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SetupStorage/SetupStorageApplet.lua
 Fri Feb  5 08:13:44 2010
@@ -150,16 +150,52 @@
 function _enableSharing(self, window)
        -- enable Samba 
        log:info("Enabling Samba Access")
-       os.execute("echo enabled > /etc/samba/status");
-       os.execute("/etc/init.d/samba restart");
-end
-
+       self:_setStatus("enabled")
+
+       local success = os.execute("/etc/init.d/samba restart")
+       if success ~= 0 then
+               log:warn("There was a problem starting filesharing (samba): ", 
success)
+       
+               local window = Window("text_list", 
self:string("SHARING_START_FAILURE"))
+               window:setAllowScreensaver(false)
+               window:setButtonAction("rbutton", nil)
+       
+               local menu = SimpleMenu("menu")
+       
+               menu:addItem({
+                       text = self:string("SHARING_TRY_AGAIN"),
+                       style = 'item',
+                       sound = "WINDOWSHOW",           
+                       callback = function ()
+                               window:hide()
+                       end
+               })
+       
+               menu:setHeaderWidget( Textarea("help_text", 
self:string('SHARING_START_FAILURE_INFO') ) )
+               window:addWidget(menu)
+       
+               self:tieAndShowWindow(window)
+       end
+end
 
 function _disableSharing(self, window)
        -- disable Samba        
        log:info("Disabling Samba Access")
-       os.execute("echo disabled > /etc/samba/status");
-       os.execute("/etc/init.d/samba stop");
+       self:stopFileSharing()
+       self:_setStatus("disabled")
+end
+
+function _setStatus(self, status)
+       local fi = io.open("/etc/samba/status", "w")
+       
+       if fi == nil then
+               return false
+       end
+       
+       fi:write(status)
+       fi:close()
+       
+       return true
 end
 
 function stopFileSharing(self)

Modified: 
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SetupStorage/strings.txt
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SetupStorage/strings.txt?rev=8461&r1=8460&r2=8461&view=diff
==============================================================================
--- 
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SetupStorage/strings.txt
 (original)
+++ 
7.5/trunk/squeezeplay/src/squeezeplay_fab4/share/applets/SetupStorage/strings.txt
 Fri Feb  5 08:13:44 2010
@@ -242,3 +242,25 @@
        RU      Общий доступ позволяет переносить 
файлы с компьютера на устройство Squeezebox 
Touch.\nПользователь: %s Пароль: %s
        SV      Delning innebär att du kan överföra filer från datorn till 
din Squeezebox Touch.\nAnvändare: %s Lösenord: %s
 
+SHARING_START_FAILURE
+       DE      Fehler bei Freigabe
+       EN      Sharing Failure
+
+SHARING_START_FAILURE_INFO
+       DE      Warnung: Die Freigabe konnte nicht ordnungsgemäß gestartet 
werden. Möglicherweise steht nicht genügend Speicher zur Verfügung.
+       EN      WARNING: The file sharing failed to start properly. This might 
be due to a low memory situation.
+
+SHARING_TRY_AGAIN
+       CS      Zkuste to znovu
+       DA      Prøv igen
+       DE      Erneut versuchen
+       EN      Try again
+       ES      Vuelva a intentarlo
+       FI      Yritä uudelleen
+       FR      Veuillez réessayer
+       IT      Riprova
+       NL      Opnieuw proberen
+       NO      Prøv igjen
+       PL      Spróbuj ponownie
+       RU      Повторите попытку
+       SV      Försök igen

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins

Reply via email to