packages feed

ersaconcat-0.0.1: src/Main.hs

module Main(
  main
, ersas
) where

import Control.Monad((>>=))
import Data.Aviation.Ersa.Concat(ErsaDocument(ErsaDocument), ErsaCurrentPending(ErsaCurrent, ErsaPending), defaultersaconcat, traverseExitCodes)
import System.Environment(getArgs)
import System.Exit(ExitCode(ExitFailure), exitWith)
import System.IO(IO, hPutStrLn, stderr)

main ::
  IO ()
main =
  do  a <- getArgs
      case a of
        p:d:v:z ->
          defaultersaconcat (ErsaDocument p d v ( case z of
                                                    [] ->
                                                      ErsaCurrent
                                                    _ ->
                                                      ErsaPending)) >>= exitWith
        [] ->
          traverseExitCodes defaultersaconcat ersas >>= exitWith
        _ ->
          do  hPutStrLn stderr "Enter zero arguments for default ERSA list or three arguments for single ERSA <page> <date (dd-Mmm-yyyy where Mmm is the first three letters of the Julian month name)> <version> [a fourth argument implies the ERSA is pending]"
              exitWith (ExitFailure 65535)

ersas ::
  [ErsaDocument]
ersas =
  [
    ErsaDocument "40" "18-Aug-2016" "1" ErsaCurrent
  , ErsaDocument "40" "10-Nov-2016" "0" ErsaPending
  , ErsaDocument "40" "10-Nov-2016" "2" ErsaPending
  ]