]> git.llucax.com Git - software/pymin.git/blobdiff - services/ppp/__init__.py
Add configuration and command-line option framework.
[software/pymin.git] / services / ppp / __init__.py
index cc53450753a5578b8b4d71cf525a08ccf30ddcd3..7681d2895696aaa7509408cdec43aeaf9bc1fd4e 100644 (file)
@@ -1,7 +1,28 @@
 # vim: set encoding=utf-8 et sw=4 sts=4 :
 
+from formencode import validators as V
+from pymin.config import Option
 from handler import PppHandler
 
+def setup_service(options, config):
+    options.add_group('ppp', 'PPP network interfaces', [
+        Option('pickle_dir', V.String, metavar='DIR',
+               help='store persistent data in DIR directory'),
+        Option('config_options_dir', V.String, metavar='DIR',
+               help='write options config files in DIR directory'),
+        Option('config_pap_dir', V.String, metavar='DIR',
+               help='write pap-secrets config file in DIR directory'),
+        Option('config_chap_dir', V.String, metavar='DIR',
+               help='write chap-secrets config file in DIR directory'),
+        Option('config_peers_dir', V.String, metavar='DIR',
+               help='write peer config files in DIR directory'),
+    ])
+
 def get_service(config):
-    return PppHandler(config.ppp.pickle_dir, config.ppp.config_dir)
+    return PppHandler(config.ppp.pickle_dir, {
+                'options.X': config.ppp.config_options_dir,
+                'pap-secrets': config.ppp.config_pap_dir,
+                'chap-secrets': config.ppp.config_chap_dir,
+                'nameX': config.ppp.config_peers_dir,
+    })