From 96e1563c37087d506a4842c1a5f96488ee7aa049 Mon Sep 17 00:00:00 2001 From: Andrea Rossato Date: Tue, 24 Jul 2007 19:06:43 +0200 Subject: Batt: we check if the file exists instead of catching an exception darcs-hash:20070724170643-d6583-85533ce12993f9de7582b776e8d8644ac541ab81.gz --- Plugins/Monitors/Batt.hs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'Plugins') diff --git a/Plugins/Monitors/Batt.hs b/Plugins/Monitors/Batt.hs index c4e463a..bf490f7 100644 --- a/Plugins/Monitors/Batt.hs +++ b/Plugins/Monitors/Batt.hs @@ -16,6 +16,7 @@ module Plugins.Monitors.Batt where import qualified Data.ByteString.Lazy.Char8 as B import Plugins.Monitors.Common +import System.Posix.Files (fileExist) data Batt = Batt Float | NA @@ -33,9 +34,12 @@ fileB2 = ("/proc/acpi/battery/BAT2/info", "/proc/acpi/battery/BAT2/state") readFileBatt :: (String, String) -> IO (B.ByteString, B.ByteString) readFileBatt (i,s) = - do a <- catch (B.readFile i) (const $ return B.empty) - b <- catch (B.readFile s) (const $ return B.empty) + do a <- rf i + b <- rf s return (a,b) + where rf file = do + f <- fileExist file + if f then B.readFile file else return B.empty parseBATT :: IO Batt parseBATT = -- cgit v1.2.3