Add current time to html page
authormail <mail@joachim-breitner.de>
Sun, 7 Oct 2007 16:11:02 +0000 (16:11 +0000)
committermail <mail@joachim-breitner.de>
Sun, 7 Oct 2007 16:11:02 +0000 (16:11 +0000)
HTMLOutput.hs
Main.hs

index 950272b..f6224d9 100644 (file)
@@ -3,16 +3,21 @@ module HTMLOutput (outputHTML) where
 import Text.XHtml hiding (version)
 import qualified Data.Map as M
 import Data.Maybe
+import System.Time
 
 import Types
 
-outputHTML :: Show k =>  M.Map k (Maybe Version, Maybe Version) -> String
-outputHTML map = showHtml $ page << mkTable map
+outputHTML :: (Show k, Show t) =>  M.Map k (Maybe Version, Maybe Version) -> t -> String
+outputHTML map time = showHtml $ page time << mkTable map
 
 myTitle = "Haskell Package Version Tracker"
 
-page content = thehtml << (header << thetitle << myTitle +++
-                          body << (h1 << myTitle +++ content +++ footer))
+page time content = thehtml << (header << thetitle << myTitle +++
+                          body << (
+                               h1 << myTitle +++
+                               p << ("Last update: " +++ show time) +++
+                               content +++
+                               footer))
 
 mkTable m = table << (
                tr << (th << "Package" +++ th << "Hackage" +++ th << "Debian") +++
diff --git a/Main.hs b/Main.hs
index 9bc291e..0ed9bdf 100644 (file)
--- a/Main.hs
+++ b/Main.hs
@@ -1,6 +1,7 @@
 import Data.Maybe
 import Data.List
 import qualified Data.Map as M
+import System.Time
 
 import Hackage as H
 import Debian as D
@@ -22,7 +23,8 @@ main = do
        let combined = mapCombine hackage debian 
        putStrLn $ "Found " ++ show (M.size combined) ++ " total packages"
 
-       let html = outputHTML combined
+       time <- getClockTime
+       let html = outputHTML combined time
        writeFile "output.html" html