]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/Resource/Search.hs
merge branch origin/master
[Rakka.git] / Rakka / Resource / Search.hs
index 56f99c0118d148bdeb5fb91cd9a7308f14a06891..2d076e890556db5da7e04bb29e5aa9f730b92e56 100644 (file)
@@ -17,12 +17,14 @@ import Control.Arrow.ArrowTree
 import Control.Arrow.Unicode
 import qualified Codec.Binary.UTF8.Generic as UTF8
 import           Control.Monad.Trans
+import qualified Data.ByteString.Char8 as C8
 import           Data.Maybe
 import Data.Monoid.Unicode
 import Data.Text (Text)
 import qualified Data.Text as T
 import           Data.Time
 import qualified Data.Time.RFC1123 as RFC1123
+import qualified Data.Time.W3C as W3C
 import           Network.HTTP.Lucu
 import           Network.URI hiding (query, fragment)
 import Prelude.Unicode
@@ -32,7 +34,6 @@ import           Rakka.Resource
 import           Rakka.Storage
 import           Rakka.SystemConfig
 import           Rakka.Utils
-import           Rakka.W3CDateTime
 import           Rakka.Wiki.Engine
 import           System.FilePath
 import           Text.HyperEstraier hiding (getText)
@@ -130,7 +131,7 @@ handleSearch env
                      += attr "name" (arr (T.unpack ∘ hpPageName) ⋙ mkText)
                      += attr "lastModified" ( arrIO (utcToLocalZonedTime ∘ hpLastMod)
                                               ⋙
-                                              arr formatW3CDateTime
+                                              arr W3C.format
                                               ⋙
                                               mkText
                                             )
@@ -290,7 +291,7 @@ searchResultToXHTML env
                    += sattr "class" "date"
                    += ( getAttrValue "lastModified"
                         ⋙
-                        arr (zonedTimeToUTC . fromJust . parseW3CDateTime)
+                        arr (zonedTimeToUTC . fromJust . W3C.parse)
                         ⋙
                         arrIO utcToLocalZonedTime
                         ⋙
@@ -375,15 +376,15 @@ searchResultToXHTML env
           = arr $ \ (query, (order, section))
           -> baseURI {
                uriPath  = uriPath baseURI </> "search.html"
-             , uriQuery = '?' : mkQueryString ( [ ("q"   , query)
-                                                , ("from", show $ section * resultsPerSection)
-                                                , ("to"  , show $ (section + 1) * resultsPerSection - 1)
-                                                ]
-                                                ++ 
-                                                case order of
-                                                  Just o  -> [("order", o)]
-                                                  Nothing -> []
-                                              )
+             , uriQuery = '?' : C8.unpack (mkQueryString ( [ ("q"   , T.pack query)
+                                                           , ("from", T.pack ∘ show $ section       ⋅ resultsPerSection    )
+                                                           , ("to"  , T.pack ∘ show $ (section + 1) ⋅ resultsPerSection - 1)
+                                                           ]
+                                                           ++
+                                                           case order of
+                                                             Just o  -> [("order", T.pack o)]
+                                                             Nothing -> []
+                                                         ))
              }
 
       uriToText :: ArrowXml a => a URI XmlTree