Browse Source

Config: read whitelist/blacklist from config

master
Denis Tereshkin 9 years ago
parent
commit
213f26998b
  1. 7
      app/Main.hs
  2. 2
      stack.yaml

7
app/Main.hs

@ -26,6 +26,7 @@ import System.Log.Handler.Simple @@ -26,6 +26,7 @@ import System.Log.Handler.Simple
import System.Log.Handler (setFormatter)
import System.Log.Formatter
import System.ZMQ4
import System.ZMQ4.ZAP
import Data.Aeson
import Data.Aeson.Types
@ -51,6 +52,8 @@ data TableConfig = TableConfig { @@ -51,6 +52,8 @@ data TableConfig = TableConfig {
data Config = Config {
quotesourceEndpoint :: String,
brokerserverEndpoint :: String,
whitelist :: [T.Text],
blacklist :: [T.Text],
tables :: [TableConfig],
quikPath :: String,
dllPath :: String,
@ -71,6 +74,8 @@ parseConfig :: Value -> Parser Config @@ -71,6 +74,8 @@ parseConfig :: Value -> Parser Config
parseConfig = withObject "object" $ \obj -> do
qse <- obj .: "quotesource-endpoint"
bse <- obj .: "brokerserver-endpoint"
whitelist' <- obj .:? "whitelist" .!= []
blacklist' <- obj .:? "blacklist" .!= []
rt <- case HM.lookup "tables" obj of
Just v -> parseTables v
Nothing -> fail "Expected tables array"
@ -82,6 +87,8 @@ parseConfig = withObject "object" $ \obj -> do @@ -82,6 +87,8 @@ parseConfig = withObject "object" $ \obj -> do
accs <- V.toList <$> obj .: "accounts"
return Config { quotesourceEndpoint = qse,
brokerserverEndpoint = bse,
whitelist = whitelist',
blacklist = blacklist',
tables = rt,
quikPath = qp,
dllPath = dp,

2
stack.yaml

@ -38,7 +38,7 @@ resolver: lts-7.7 @@ -38,7 +38,7 @@ resolver: lts-7.7
packages:
- '.'
- '../libatrade'
- '../zeromq-haskell'
- '../zeromq4-haskell-zap'
# Dependency packages to be pulled from upstream that are not in the resolver
# (e.g., acme-missiles-0.3)
extra-deps: [ "datetime-0.3.1", "cond-0.4.1.1"]

Loading…
Cancel
Save