From c88df2b5d3cabc8e8171a422a48d0f811549f512 Mon Sep 17 00:00:00 2001 From: Andrea Rossato Date: Sun, 8 Jul 2007 12:03:20 +0200 Subject: better error handling when parsing weather information darcs-hash:20070708100320-d6583-0ec0ec78a84313390467e6596239421d022a2863.gz --- Monitors/Weather.hs | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/Monitors/Weather.hs b/Monitors/Weather.hs index d643bb0..2d957bd 100644 --- a/Monitors/Weather.hs +++ b/Monitors/Weather.hs @@ -102,20 +102,15 @@ parseData = ss <- getAllBut "(" skipRestOfLine >> getAllBut "/" (y,m,d,h) <- pTime - skipRestOfLine >> string "Wind: " - w <- manyTill anyChar $ newline - manyTill skipRestOfLine $ string "Visibility: " - v <- manyTill anyChar $ newline - manyTill skipRestOfLine $ string "Sky conditions: " - sk <- manyTill anyChar $ newline - manyTill skipRestOfLine $ string "Temperature" + w <- getAfterString "Wind: " + v <- getAfterString "Visibility: " + sk <- getAfterString "Sky conditions: " + skipTillString "Temperature" temp <- pTemp - manyTill skipRestOfLine $ string "Dew Point: " - dp <- manyTill anyChar $ newline - manyTill skipRestOfLine $ string "Relative Humidity" + dp <- getAfterString "Dew Point: " + skipTillString "Relative Humidity" rh <- pRh - manyTill skipRestOfLine $ string "Pressure (altimeter): " - p <- manyTill anyChar $ newline + p <- getAfterString "Pressure (altimeter): " manyTill skipRestOfLine eof return $ [WI st ss y m d h w v sk temp dp rh p] -- cgit v1.2.3