summaryrefslogtreecommitdiff
path: root/src/www/gfse/save.hs
diff options
context:
space:
mode:
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