geval/app/Main.hs

26 lines
664 B
Haskell
Raw Normal View History

2015-08-17 23:32:00 +02:00
module Main where
2015-08-23 08:14:47 +02:00
import GEval.Core
import GEval.OptionsParser
2015-08-17 23:32:00 +02:00
2015-08-23 08:14:47 +02:00
import System.Environment
2015-08-22 00:00:46 +02:00
import Options.Applicative
2015-09-12 15:36:50 +02:00
import Text.Printf
2015-08-17 23:32:00 +02:00
main :: IO ()
main = do
args <- getArgs
2015-09-12 15:36:50 +02:00
result <- runGEvalGetOptions args
case result of
Left parseResult -> handleParseResult parseResult >> return ()
2015-09-12 15:36:50 +02:00
Right (opts, Just result) -> showTheResult opts result
Right (_, Nothing) -> return ()
showTheResult :: GEvalOptions -> MetricValue -> IO ()
showTheResult opts val = putStrLn $ formatTheResult (geoPrecision opts) val
formatTheResult :: Maybe Int -> MetricValue -> String
formatTheResult Nothing = show
formatTheResult (Just prec) = printf "%0.*f" prec