X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Main.hs;h=736033feda5be8aef8976d81cb397705bed33187;hb=ae4deb027146109a28b3070904c282dcbb0be4be;hp=b6e5d6d489e9bfcd00d3cfca7d2d8eaffa0b9ed9;hpb=5ab256be8bbbb1f4a012b41ac1cc3f9b29aa7d57;p=Rakka.git diff --git a/Main.hs b/Main.hs index b6e5d6d..736033f 100644 --- a/Main.hs +++ b/Main.hs @@ -16,6 +16,7 @@ import Rakka.Resource.Render import Rakka.Resource.Search import Rakka.Resource.SystemConfig -- import Rakka.Resource.TrackBack +import Rakka.Resource.Users import Rakka.Storage import Subversion import System.Console.GetOpt @@ -40,7 +41,7 @@ data CmdOpt | OptUserName String | OptGroupName String | OptLogLevel Priority - | OptDisableStderrLog + | OptVerbose | OptRebuildIndex | OptHelp deriving (Eq, Show) @@ -84,13 +85,13 @@ options = [ Option ['p'] ["port"] (ReqArg (OptLogLevel . read) "LEVEL") ("The lowest log level to show. (default: " ++ show defaultLogLevel ++ ")") - , Option [] ["disable-stderr-log"] - (NoArg OptDisableStderrLog) - ("Disable logging to stderr.") + , Option ['v'] ["verbose"] + (NoArg OptVerbose) + "Enable logging to stderr." - , Option [] ["rebuild-index"] + , Option ['r'] ["rebuild-index"] (NoArg OptRebuildIndex) - ("Rebuild the index database.") + "Rebuild the index database." , Option ['h'] ["help"] (NoArg OptHelp) @@ -110,7 +111,7 @@ main = withOpenSSL $ withSubversion $ do (opts, nonOpts, errors) <- return . getOpt Permute options =<< getArgs - when (not $ null errors) + unless (null errors) $ do mapM_ putStr errors exitWith $ ExitFailure 1 @@ -118,7 +119,7 @@ main = withOpenSSL $ $ do printUsage exitWith ExitSuccess - when (not $ null nonOpts) + unless (null nonOpts) $ do printUsage exitWith $ ExitFailure 1 @@ -154,6 +155,7 @@ resTree env , (["search.xml" ], resSearch env) , (["systemConfig"], resSystemConfig env) -- , (["trackback" ], resTrackBack env) + , (["users" ], resUsers env) ] @@ -211,16 +213,16 @@ getLocalStateDir opts setupLogger :: [CmdOpt] -> IO () setupLogger opts - = do let disableStderrLog = find (== OptDisableStderrLog) opts /= Nothing - logHandlers = if disableStderrLog then - [] - else - [verboseStreamHandler stderr DEBUG] - logLevel = fromMaybe defaultLogLevel - $ do OptLogLevel l <- find (\ x -> case x of - OptLogLevel _ -> True - _ -> False) opts - return l + = do let verbose = find (== OptVerbose) opts /= Nothing + logHandlers = if verbose then + [verboseStreamHandler stderr DEBUG] + else + [] -- FIXME: enable file log + logLevel = fromMaybe defaultLogLevel + $ do OptLogLevel l <- find (\ x -> case x of + OptLogLevel _ -> True + _ -> False) opts + return l logHandlers' <- sequence logHandlers updateGlobalLogger rootLoggerName (setHandlers logHandlers' . setLevel logLevel)