X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Rakka%2FSystemConfig.hs;h=ecf608df873232944880dbc0b518d6644cbebf46;hb=f1016753ef45a4c25745ccb6e81e5acbc085cc42;hp=10b39b354fa5ba1ae986befc19f2f22ca02bfa3d;hpb=7a4f13a3d483c950743e1ced001ade4406d239d3;p=Rakka.git diff --git a/Rakka/SystemConfig.hs b/Rakka/SystemConfig.hs index 10b39b3..ecf608d 100644 --- a/Rakka/SystemConfig.hs +++ b/Rakka/SystemConfig.hs @@ -12,6 +12,10 @@ module Rakka.SystemConfig , DefaultPage(..) , StyleSheet(..) , Languages(..) + , GlobalLock(..) + + , serializeStringPairs + , deserializeStringPairs ) where @@ -131,7 +135,7 @@ deserializeStringPairs :: String -> Maybe [(String, String)] deserializeStringPairs = sequence . map deserializePair' . lines where deserializePair' :: String -> Maybe (String, String) - deserializePair' s = case break (/= ' ') s of + deserializePair' s = case break (== ' ') s of (a, ' ':b) -> Just (a, b) _ -> Nothing @@ -206,3 +210,15 @@ instance SysConfValue Languages where , ("pt", "Português") , ("sv", "Svenska" ) ] + + +newtype GlobalLock = GlobalLock Bool deriving (Show, Typeable) +instance SysConfValue GlobalLock where + confPath _ = "globalLock" + serialize (GlobalLock isLocked) + | isLocked = "*" + | otherwise = "" + deserialize "*" = Just (GlobalLock True) + deserialize "" = Just (GlobalLock False) + deserialize _ = Nothing + defaultValue _ = GlobalLock False