]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/Storage/Repos.hs
Applied HLint
[Rakka.git] / Rakka / Storage / Repos.hs
index 09bd8f3b40e4f4dce879577a66b60b3c88cf67f3..8f49cbe4ad8c512004be6c52574276ef0427172d 100644 (file)
@@ -71,7 +71,7 @@ findAllPagesInRevision repos rev
 
       traverse :: FilePath -> Rev (Set PageName)
       traverse dir
-          = getDirEntries dir >>= mapM (traverse' dir) >>= return . S.unions
+          = liftM S.unions (getDirEntries dir >>= mapM (traverse' dir))
 
       traverse' :: FilePath -> DirEntry -> Rev (Set PageName)
       traverse' dir entry
@@ -104,7 +104,7 @@ getDirContentsInRevision repos dir rev
       path = mkDirPath dir
 
       getDir' :: Rev [PageName]
-      getDir' = getDirEntries path >>= return . map entToName
+      getDir' = liftM (map entToName) (getDirEntries path)
 
       entToName :: DirEntry -> PageName
       entToName = (dir </>) . decodePageName . dropExtension . entName
@@ -114,7 +114,7 @@ findChangedPagesAtRevision :: Repository -> RevNum -> IO (Set PageName)
 findChangedPagesAtRevision repos rev
     = do fs <- getRepositoryFS repos
          withRevision fs rev
-             $ getPathsChanged >>= return . foldl accumulatePages S.empty . map fst
+             $ liftM (foldl accumulatePages S.empty . map fst) getPathsChanged
     where
       accumulatePages :: Set PageName -> FilePath -> Set PageName
       accumulatePages s path
@@ -136,23 +136,24 @@ loadPageInRepository repos name rev
          withRevision fs rev'
              $ do exists <- isFile path
                   if exists then
-                      return . Just =<< loadPage'
+                      return . Just =<< loadPage' fs
                     else
                       return Nothing
     where
       path :: FilePath
       path = mkPagePath name
 
-      loadPage' :: Rev Page
-      loadPage' = do mType <- liftM (fmap (read . chomp)) (getNodeProp path "svn:mime-type")
-                     case mType of
-                       Just (MIMEType "application" "x-rakka-redirection" _)
-                           -> loadPageRedirect
-                       _
-                           -> loadPageEntity
-
-      loadPageEntity :: Rev Page
-      loadPageEntity
+      loadPage' :: FileSystem -> Rev Page
+      loadPage' fs
+          = do mType <- liftM (fmap (read . chomp)) (getNodeProp path "svn:mime-type")
+               case mType of
+                 Just (MIMEType "application" "x-rakka-redirection" _)
+                     -> loadPageRedirect fs
+                 _
+                     -> loadPageEntity fs
+
+      loadPageEntity :: FileSystem -> Rev Page
+      loadPageEntity fs
           = do props   <- getNodePropList path
                hist    <- getNodeHistory True path
                content <- getFileContentsLBS path
@@ -162,8 +163,9 @@ loadPageInRepository repos name rev
                               $ fromMaybe "text/x-rakka"
                               $ fmap chomp (lookup "svn:mime-type" props)
 
-               lastMod <- getRevisionProp "svn:date"
-                          >>= return . fromJust . parseW3CDateTime . chomp . fromJust
+               lastMod <- unsafeIOToFS $
+                          liftM (fromJust . parseW3CDateTime . chomp . fromJust)
+                                (getRevisionProp' fs pageRev "svn:date")
 
                return Entity {
                             entityName       = name
@@ -188,19 +190,19 @@ loadPageInRepository repos name rev
                           , entityUpdateInfo = undefined
                           }
       
-      loadPageRedirect :: Rev Page
-      loadPageRedirect
+      loadPageRedirect :: FileSystem -> Rev Page
+      loadPageRedirect fs
           = do hist    <- getNodeHistory True path
                content <- getFileContents path
 
                let pageRev = fst $ head hist
                    dest    = chomp $ decodeString content
 
-               lastMod <- getRevisionProp "svn:date"
-                          >>= return . fromJust . parseW3CDateTime . chomp . fromJust
+               lastMod <- unsafeIOToFS $
+                          liftM (fromJust . parseW3CDateTime . chomp . fromJust)
+                                (getRevisionProp' fs pageRev "svn:date")
 
-               isLocked <- getRevisionProp "rakka:isLocked"
-                           >>= return . isJust
+               isLocked <- liftM isJust (getNodeProp path "rakka:isLocked")
 
                return Redirection {
                             redirName       = name
@@ -239,11 +241,11 @@ putPageIntoRepository repos userID page
                                         case uiOldName ui of
                                           Nothing      -> return ()
                                           Just oldName -> do exists <- isFile (mkPagePath oldName)
-                                                             when (exists)
+                                                             when exists
                                                                   $ do movePage (uiOldRevision ui) oldName name
                                                                        moveAttachments (uiOldRevision ui) oldName name
                                         exists <- isFile (mkPagePath name)
-                                        unless (exists)
+                                        unless exists
                                                $ createPage name
                                         updatePage name
                             case ret of
@@ -422,7 +424,7 @@ loadAttachmentInRepository repos pName aName rev
       path = mkAttachmentPath pName aName
 
       loadAttachment' :: Rev a
-      loadAttachment' = getFileContents path >>= return . deserializeFromString . decodeString
+      loadAttachment' = liftM (deserializeFromString . decodeString) (getFileContents path)
 
 
 putAttachmentIntoRepository :: Attachment a =>
@@ -464,4 +466,4 @@ filterSvnError f = catchDyn f rethrow
           = let code = svnErrCode err
                 msg  = svnErrMsg  err
             in
-              fail $ "SvnError: " ++ (show code) ++ ": " ++ msg
+              fail $ "SvnError: " ++ show code ++ ": " ++ msg