summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cwality-maps/Main.hs16
-rw-r--r--package.yaml1
-rw-r--r--walint.cabal1
3 files changed, 13 insertions, 5 deletions
diff --git a/cwality-maps/Main.hs b/cwality-maps/Main.hs
index f242b94..39723f4 100644
--- a/cwality-maps/Main.hs
+++ b/cwality-maps/Main.hs
@@ -44,6 +44,9 @@ import Servant.Server.StaticFiles (serveDirectoryWebApp)
import Substitute (Substitutable (substitute),
SubstitutionError)
+import Control.Monad.Logger
+
+
-- | a map's filename ending in .json
-- (a newtype to differentiate between maps and assets in a route)
newtype JsonFilename = JsonFilename Text
@@ -87,14 +90,15 @@ mkMap :: Config True -> Tiledmap -> MapParams -> ([SubstitutionError], Tiledmap)
mkMap _config basemap params =
substitute basemap (substs params)
-
mapHandler :: Config True -> JsonFilename -> MapParams -> Handler Tiledmap
mapHandler config (JsonFilename mapname) params =
case M.lookup mapname (snd $ view template config) of
- Just basemap -> do
- let (errors, map) = mkMap config basemap params
- print errors
- pure map
+ Just basemap -> runStdoutLoggingT $
+ logWarnN (pretty errors) >> pure tiledmap
+ where (errors, tiledmap) = mkMap config basemap params
+ pretty errors = T.concat
+ . intersperse "\n "
+ $ concatMap (lines . show) errors
Nothing -> throwError err404
-- | Complete set of routes: API + HTML sites
@@ -106,6 +110,8 @@ server config = mapHandler config
app :: Config True -> Application
app = serve (Proxy @Routes) . server
+
+
main :: IO ()
main = do
config <- loadConfig "./cwality-config.toml"
diff --git a/package.yaml b/package.yaml
index 2277d29..3dcda10 100644
--- a/package.yaml
+++ b/package.yaml
@@ -72,6 +72,7 @@ executables:
- wai
- wai-extra
- warp
+ - monad-logger
- fmt
- tomland
- microlens-platform
diff --git a/walint.cabal b/walint.cabal
index 167a394..dd1dfad 100644
--- a/walint.cabal
+++ b/walint.cabal
@@ -99,6 +99,7 @@ executable cwality-maps
, filepath
, fmt
, microlens-platform
+ , monad-logger
, mustache
, parsec
, servant