]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/Page.hs
Exodus to GHC 6.8.1
[Rakka.git] / Rakka / Page.hs
index 9d84cf28df7f0285c2788842773063998c638a5b..453ed841000eb18d4859a8ccfe0280a088066369 100644 (file)
@@ -19,18 +19,16 @@ module Rakka.Page
     )
     where
 
-import           Data.ByteString.Base (LazyByteString)
-import qualified Data.ByteString.Char8 as C8
+import           Codec.Binary.UTF8.String
+import qualified Data.ByteString.Lazy as Lazy (ByteString)
 import           Data.Char
-import           Data.Encoding
-import           Data.Encoding.UTF8
 import           Data.Map (Map)
 import           Data.Maybe
+import           Data.Time
 import           Network.HTTP.Lucu
-import           Network.URI
+import           Network.URI hiding (fragment)
 import           Subversion.Types
 import           System.FilePath.Posix
-import           System.Time
 
 
 type PageName = String
@@ -44,7 +42,7 @@ data Page
         redirName     :: !PageName
       , redirDest     :: !PageName
       , redirRevision :: !(Maybe RevNum)
-      , redirLastMod  :: !CalendarTime
+      , redirLastMod  :: !UTCTime
       }
     | Entity {
         pageName      :: !PageName
@@ -57,16 +55,16 @@ data Page
       , pageIsBoring  :: !Bool
       , pageIsBinary  :: !Bool
       , pageRevision  :: !RevNum
-      , pageLastMod   :: !CalendarTime
+      , pageLastMod   :: !UTCTime
       , pageSummary   :: !(Maybe String)
       , pageOtherLang :: !(Map LanguageTag PageName)
-      , pageContent   :: !LazyByteString
+      , pageContent   :: !Lazy.ByteString
       }
 
 
 -- UTF-8 に encode してから 0x20 - 0x7E の範圍を除いて URI escape する。
 encodePageName :: PageName -> FilePath
-encodePageName = escapeURIString isSafeChar . C8.unpack . encode UTF8 . fixPageName
+encodePageName = escapeURIString isSafeChar . encodeString . fixPageName
     where
       fixPageName :: PageName -> PageName
       fixPageName = (\ (x:xs) -> toUpper x : xs) . map (\ c -> if c == ' ' then '_' else c)
@@ -82,11 +80,11 @@ isSafeChar c
 
 -- URI unescape して UTF-8 から decode する。
 decodePageName :: FilePath -> PageName
-decodePageName = decode UTF8 . C8.pack . unEscapeString
+decodePageName = decodeString . unEscapeString
 
 
 encodeFragment :: String -> String
-encodeFragment = escapeURIString isSafeChar . C8.unpack . encode UTF8
+encodeFragment = escapeURIString isSafeChar . encodeString
 
 
 pageFileName' :: Page -> String