{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE FlexibleContexts #-} module Villefort.Server where import Web.Scotty import Control.Monad.IO.Class import Control.Concurrent import Data.List.Split import Data.Text.Lazy hiding (splitOn,map,concat,head) import Villefort.Database import Villefort.Todo import Villefort.Stats import Villefort.Definitions import Paths_Villefort import Villefort.Ml import Villefort.Time import Villefort.Summary import Villefort.Daily import System.IO.Strict as S import System.Environment import Control.Monad import Control.Monad.Reader import System.Process import System.Directory import System.Posix.Process getWeeks ::(MonadReader VConfig m,MonadIO m) => m [[[Char]]] getWeeks = do rawSql <- makeQuery "select id, Title from weeks where state = 1 order by Title" return $ Prelude.mapM (\x -> [Prelude.head x ,( Prelude.tail (Prelude.last x))]) rawSql getIndex :: [[Char]] -> Int -> [Char] getIndex str i = (Data.List.Split.splitOn "=" (str !! i)) !! 1 -- | Converts date from Javascript to sqlite date fromat convDate :: String -> String convDate date = newDate where splitDate = Data.List.Split.splitOn "%2F" date newDate = (splitDate !! 2) ++ "-" ++ (splitDate !! 0) ++ "-" ++ (splitDate !! 1) -- | makes html for radiobutton makeRadio :: String -> String makeRadio x = "