[Fencommits] fenserve: a simple table of all entries (in Haskell)
Benja Fallenstein
benja.fallenstein at gmail.com
Tue May 22 21:41:00 EEST 2007
Tue May 22 21:40:42 EEST 2007 Benja Fallenstein <benja.fallenstein at gmail.com>
* a simple table of all entries (in Haskell)
diff -rN -u old-fenserve/fendata/Main.hs new-fenserve/fendata/Main.hs
--- old-fenserve/fendata/Main.hs 2007-05-22 21:40:59.000000000 +0300
+++ new-fenserve/fendata/Main.hs 2007-05-22 21:40:59.000000000 +0300
@@ -9,6 +9,7 @@
import qualified Data.Map as Map
import Data.Set (Set)
import qualified Data.Set as Set
+import Data.Char (toUpper)
import qualified System.IO.Unsafe
import qualified Control.Exception
@@ -384,6 +385,13 @@
f ('$':cs) part = reverse part : f cs ""
f (c:cs) part = f cs (c:part)
f "" part = [reverse part]
+
+showTable :: () -> MyState -> (String, MyState)
+showTable () s = (
+ concatFor (Map.toList $ stateItems s) $ \(_, Item fields _) ->
+ ("<p>"++) . concatFor (Map.toList fields) $ \(f:fs,v) ->
+ "<b>" ++ (toUpper f : fs) ++ ":</b> " ++ v ++ "<br>",
+ s)
main = stdHTTP [ debugFilter
, h ["potion"] GET $ ok $ \() -> run $
@@ -397,6 +405,8 @@
, h ["edit"] GET $ ok $ \() -> run edit
, h ["editTemplate"] GET $ seeOther $ \() -> runRedirect editTemplate
, h ["makefun"] GET $ ok $ \() -> run makeFun
+ , h ["table"] GET $ ok $ \() -> run showTable
+
, h [""] GET $ ok $ \() () -> view
, h ["addfield"] POST $ ok $ \() (cid,name) -> addField cid name
, h ["addcat"] POST $ ok $ \() name -> addCategory name
More information about the Fencommits
mailing list