bet-0.1.2.1: toys/login-test/Main.hs
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
module Main ( main ) where
import Control.Applicative
import Network.Betfair
import System.Environment
import System.Exit
import System.IO
main :: IO ()
main = do
args <- getArgs
if null args
then usageHelp >> exitFailure
else performLogin $ head args
performLogin :: FilePath -> IO ()
performLogin fpath = do
file <- openFile fpath ReadMode
credentials <- read <$> hGetContents file
betfair <- openBetfair credentials
betfair `seq` putStrLn "Successfully logged in!"
usageHelp :: IO ()
usageHelp = do
putStrLn "Usage: login-test [credentials file]\n"
putStrLn $ "The credentials file should be a `Read`able " ++
"`Network.Betfair.Credentials` value. Here's an example:"
putStrLn $ show $ Credentials
{ _username = "blahblah"
, _password = "123456789"
, _apiKey = "1bcj nice api key blarghh"
, _certificatePrivateKeyFile = "ssl/secret.key"
, _certificateCertificateFile = "ssl/secret.crt" }