Refactor plugin initialization and enablement
[cascardo/ipsilon.git] / ipsilon / helpers / ipa.py
index 4948624..d01d663 100755 (executable)
@@ -46,7 +46,7 @@ failure (see logs) and retry.
 
 class Installer(object):
 
-    def __init__(self):
+    def __init__(self, *pargs):
         self.name = 'ipa'
         self.ptype = 'helper'
         self.logger = None
@@ -168,6 +168,8 @@ class Installer(object):
     def configure_server(self, opts):
         if opts['ipa'] != 'yes' and opts['ipa'] != 'auto':
             return
+        if opts['ipa'] != 'yes' and opts['krb'] == 'no':
+            return
 
         self.logger = logging.getLogger()
 
@@ -176,11 +178,11 @@ class Installer(object):
         self.get_keytab(opts)
 
         # Forcibly use krb then pam modules
-        if not 'lm_order' in opts:
+        if 'lm_order' not in opts:
             opts['lm_order'] = []
         opts['krb'] = 'yes'
         if 'krb' not in opts['lm_order']:
             opts['lm_order'].insert(0, 'krb')
-        opts['pam'] = 'yes'
-        if 'pam' not in opts['lm_order']:
-            opts['lm_order'].append('pam')
+        opts['form'] = 'yes'
+        if not any(lm in opts['lm_order'] for lm in ('form', 'pam')):
+            opts['lm_order'].append('form')