[Gd-chatter] r11093 - trunk/libraries/network/koala/sources/examples/buddha

hannes at gwydiondylan.org hannes at gwydiondylan.org
Thu Dec 21 02:38:04 CET 2006


Author: hannes
Date: Thu Dec 21 02:38:02 2006
New Revision: 11093

Modified:
   trunk/libraries/network/koala/sources/examples/buddha/buddha.dylan
   trunk/libraries/network/koala/sources/examples/buddha/vlan.dylan
Log:
Bug: 7257
*csv-export for arien

Modified: trunk/libraries/network/koala/sources/examples/buddha/buddha.dylan
==============================================================================
--- trunk/libraries/network/koala/sources/examples/buddha/buddha.dylan	(original)
+++ trunk/libraries/network/koala/sources/examples/buddha/buddha.dylan	Thu Dec 21 02:38:02 2006
@@ -125,6 +125,8 @@
   respond-to-get(#"tinydns", request, response);
 end;
 
+define page export end;
+
 define responder root ("/")
     (request, response)
   moved-permanently-redirect(location: "/vlan",
@@ -427,6 +429,14 @@
   print-tinydns-zone-file(zone, output-stream(response));
 end;
 
+define method respond-to-get
+   (page == #"export",
+    request :: <request>,
+    response :: <response>,
+    #key errors)
+  set-content-type(response, "text/plain");
+  do(curry(print-export-summary, output-stream(response)), sort(storage(<vlan>)));
+end;
 
 define method respond-to-post
     (page,

Modified: trunk/libraries/network/koala/sources/examples/buddha/vlan.dylan
==============================================================================
--- trunk/libraries/network/koala/sources/examples/buddha/vlan.dylan	(original)
+++ trunk/libraries/network/koala/sources/examples/buddha/vlan.dylan	Thu Dec 21 02:38:02 2006
@@ -21,3 +21,17 @@
  => (res :: <boolean>)
   a.number < b.number
 end;
+
+define function print-export-summary (stream :: <stream>, dvlan :: <vlan>)
+  let subs = map(curry(as, <string>),
+                 choose(method(x)
+                   x.vlan = dvlan
+                 end, storage(<subnet>)));
+  format(stream, "%s,%s,%s,%s\n",
+         dvlan.name, dvlan.number, dvlan.description,
+         if (subs.size > 0)
+           reduce1(method(a, b) concatenate(a, ",", b) end, subs)
+         else
+           ""
+         end)
+end;



More information about the chatter mailing list