[augeas-devel] [PATCH] webmin lens

free at 64studio.com free at 64studio.com
Sat Dec 20 11:31:48 UTC 2008


commit 21703965c3a746c777ca7a21a8f520e7701145d5
Author: Free Ekanayaka <free at 64studio.com>
Date:   Sat Dec 20 00:29:20 2008 +0000

    Add lens and test for webmin (miniserv.conf and ldap-useradmin/config)

diff --git a/lenses/tests/test_webmin.aug b/lenses/tests/test_webmin.aug
new file mode 100644
index 0000000..a61dc38
--- /dev/null
+++ b/lenses/tests/test_webmin.aug
@@ -0,0 +1,11 @@
+module Test_webmin =
+
+let conf = "port=10000
+realm=Webmin Server
+denyfile=\.pl$
+"
+
+test Webmin.lns get conf =
+   { "port" = "10000" }
+   { "realm" = "Webmin Server" }
+   { "denyfile" = "\.pl$" }
diff --git a/lenses/webmin.aug b/lenses/webmin.aug
new file mode 100644
index 0000000..8899d71
--- /dev/null
+++ b/lenses/webmin.aug
@@ -0,0 +1,48 @@
+(* Webmin module for Augeas
+ Author: Free Ekanayaka <free at 64studio.com>
+
+ Reference:
+
+*)
+
+module Webmin =
+
+   autoload xfm
+
+(************************************************************************
+ *                           USEFUL PRIMITIVES
+ *************************************************************************)
+
+let eol        = Util.eol
+let comment    = Util.comment
+let empty      = Util.empty
+
+let sep_eq     = del /=/ "="
+
+let sto_to_eol = store /([^ \t\n].*[^ \t\n]|[^ \t\n])/
+
+let word       = /[A-Za-z0-9_.-]+/
+
+(************************************************************************
+ *                               ENTRIES
+ *************************************************************************)
+
+let entry     = [ key word
+                . sep_eq
+                . sto_to_eol?
+                . eol ]
+
+(************************************************************************
+ *                                LENS
+ *************************************************************************)
+
+let lns        = (comment|empty|entry) *
+
+let wm_incl (n:string)
+               = (incl ("/etc/webmin/" . n))
+let filter
+               = wm_incl "miniserv.conf"
+               . wm_incl "ldap-useradmin/config"
+               . Util.stdexcl
+
+let xfm        = transform lns filter




More information about the augeas-devel mailing list