X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Rakka%2FEnvironment.hs;h=8d3c16c04fec4e430a286ff91643b579ec7b8341;hb=223d4df57fa1371945075d4d2714e5f36c1fc5dd;hp=480fcf2acc5212359fc486b8d0afa68e8a4b9205;hpb=7a4f13a3d483c950743e1ced001ade4406d239d3;p=Rakka.git diff --git a/Rakka/Environment.hs b/Rakka/Environment.hs index 480fcf2..8d3c16c 100644 --- a/Rakka/Environment.hs +++ b/Rakka/Environment.hs @@ -8,8 +8,9 @@ module Rakka.Environment import Control.Arrow import Control.Arrow.ArrowList import qualified Data.Map as M -import Network +import Network.Socket import qualified Network.HTTP.Lucu.Config as LC +import Rakka.Authorization import Rakka.Page import Rakka.Storage import Rakka.SystemConfig @@ -18,12 +19,11 @@ import Rakka.Wiki.Interpreter import qualified Rakka.Wiki.Interpreter.Base as Base import qualified Rakka.Wiki.Interpreter.Image as Image import qualified Rakka.Wiki.Interpreter.PageList as PageList -import qualified Rakka.Wiki.Interpreter.Trackback as Trackback +--import qualified Rakka.Wiki.Interpreter.Trackback as Trackback import qualified Rakka.Wiki.Interpreter.Outline as Outline import Subversion.Repository import System.Directory import System.FilePath -import System.IO import System.Log.Logger import Text.HyperEstraier import Text.XML.HXT.Arrow.XmlIOStateArrow @@ -40,13 +40,14 @@ data Environment = Environment { , envSysConf :: !SystemConfig , envStorage :: !Storage , envInterpTable :: !InterpTable + , envAuthDB :: !AuthDB } -setupEnv :: FilePath -> PortNumber -> IO Environment +setupEnv :: FilePath -> ServiceName -> IO Environment setupEnv lsdir portNum = do let lucuConf = LC.defaultConfig { - LC.cnfServerPort = PortNumber portNum + LC.cnfServerPort = portNum } reposPath = lsdir "repos" interpTable = mkInterpTable @@ -60,14 +61,16 @@ setupEnv lsdir portNum createRepository reposPath [] [] sysConf <- mkSystemConfig lucuConf repos storage <- mkStorage lsdir repos (makeDraft' interpTable) + authDB <- mkAuthDB lsdir - return $ Environment { + return Environment { envLocalStateDir = lsdir , envLucuConf = lucuConf , envRepository = repos , envSysConf = sysConf , envStorage = storage , envInterpTable = interpTable + , envAuthDB = authDB } where makeDraft' :: InterpTable -> Page -> IO Document @@ -88,7 +91,7 @@ mkInterpTable = listToTable $ foldl (++) [] [ Base.interpreters , Image.interpreters , PageList.interpreters - , Trackback.interpreters + --, Trackback.interpreters , Outline.interpreters ] where