summaryrefslogtreecommitdiff
path: root/src/www/gfse/save.hs
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2011-10-12 17:03:54 +0000
committerhallgren <hallgren@chalmers.se>2011-10-12 17:03:54 +0000
commit44d1a5a9f71b03d9aceeccd760a63fcdc45f8bad (patch)
treed51076a708997d6f1af6ac0deefd535bbc25f804 /src/www/gfse/save.hs
parent0aba45560d2033c37c3d2e876e6f3ef89e1554d6 (diff)
Improvements of "gf -server" mode and related setup
"gf -server" mode now contains everything needed to run the minibar and the grammar editor (including example-based grammar writing). The Setup.hs script installs the required files where gf -server can find them. These files have been moved to a new directory: src/www. The separate server program pgf-http is now obsolete.
Diffstat (limited to 'src/www/gfse/save.hs')
-rw-r--r--src/www/gfse/save.hs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/www/gfse/save.hs b/src/www/gfse/save.hs
new file mode 100644
index 000000000..0472ff5e8
--- /dev/null
+++ b/src/www/gfse/save.hs
@@ -0,0 +1,25 @@
+import System(getArgs)
+import CGI(getQuery,string)
+import MUtils(apSnd)
+
+main = save2 =<< getArgs
+
+{-
+save1 [dir] =
+ do fs@[ns,_] <- readIO =<< getContents
+ nes <- save_all fs
+ putStrLn $ unwords nes
+ where
+ save_all [ns,cs] = mapM (write1 dir) (zip ns cs)
+-}
+
+write1 dir (n,c) =
+ do writeFile (dir++"/"++ne) c
+ return ne
+ where
+ ne=if '.' `elem` n then n else n++".gf"
+
+save2 [dir] =
+ do nfs <- getQuery
+ nes <- mapM (write1 dir . apSnd string) nfs
+ putStrLn $ unwords nes