X-Git-Url: https://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Rakka%2FStorage%2FDefaultPage.hs;h=30b5fcf5f1c918d963052b57cd8db293adcf7bb8;hb=f4a655a34bc6017db008c2e915053958ae13ee81;hp=00fdf06dd9e8557f778d46e727a738823ef16d5e;hpb=ace1b98b247b32e719a72a04fafe9fbffc1c49b0;p=Rakka.git diff --git a/Rakka/Storage/DefaultPage.hs b/Rakka/Storage/DefaultPage.hs index 00fdf06..30b5fcf 100644 --- a/Rakka/Storage/DefaultPage.hs +++ b/Rakka/Storage/DefaultPage.hs @@ -10,6 +10,7 @@ import Control.Arrow.ArrowList import qualified Data.ByteString.Lazy as L import Data.Encoding import Data.Encoding.UTF8 +import qualified Data.Map as M import Paths_Rakka -- Cabal が用意する。 import Rakka.Page import Rakka.Utils @@ -81,6 +82,8 @@ parseEntity -> do mimeType <- (getXPathTreesInDoc "/page/@type/text()" >>> getText >>> arr read) -< tree + lang <- maybeA (getXPathTreesInDoc "/page/@lang/text()" >>> getText) -< tree + isTheme <- (withDefault (getXPathTreesInDoc "/page/@isTheme/text()" >>> getText) "no" >>> parseYesOrNo) -< tree isFeed <- (withDefault (getXPathTreesInDoc "/page/@isFeed/text()" >>> getText) "no" @@ -111,6 +114,7 @@ parseEntity returnA -< Entity { pageName = name , pageType = mimeType + , pageLanguage = lang , pageIsTheme = isTheme , pageIsFeed = isFeed , pageIsLocked = isLocked @@ -119,6 +123,6 @@ parseEntity , pageRevision = Nothing , pageLastMod = lastMod , pageSummary = summary - , pageOtherLang = otherLang + , pageOtherLang = M.fromList otherLang , pageContent = content } \ No newline at end of file