SSIA
Thanks
Adam
>From eece77de2869e484f0cfede4e05205026fecd709 Mon Sep 17 00:00:00 2001
From: Adam Misnyovszki <amisn...@redhat.com>
Date: Fri, 2 May 2014 13:52:49 +0200
Subject: [PATCH] plugin registration refactoring for pwpolicy

decorators used for plugin registration in pwpolicy
according to:
http://www.freeipa.org/page/Coding_Best_Practices#Decorator-based_plugin_registration
---
 ipalib/plugins/pwpolicy.py | 39 +++++++++++++++------------------------
 1 file changed, 15 insertions(+), 24 deletions(-)

diff --git a/ipalib/plugins/pwpolicy.py b/ipalib/plugins/pwpolicy.py
index 1d546ea75be61f9bf5b0ab2f571b7d98c9cc2ac1..9c8b711b89db578d1dd771b5fe3ae89d1d88ccf3 100644
--- a/ipalib/plugins/pwpolicy.py
+++ b/ipalib/plugins/pwpolicy.py
@@ -22,6 +22,7 @@ from ipalib import api
 from ipalib import Int, Str, DNParam
 from ipalib.plugins.baseldap import *
 from ipalib import _
+from ipalib.plugable import Registry
 from ipalib.request import context
 from ipapython.ipautil import run
 from ipapython.dn import DN
@@ -70,6 +71,9 @@ EXAMPLES:
    ipa pwpolicy-mod --minclasses=2 localadmins
 """)
 
+register = Registry()
+
+@register()
 class cosentry(LDAPObject):
     """
     Class of Service object used for linking policies with groups
@@ -127,9 +131,8 @@ class cosentry(LDAPObject):
                     }
                 )
 
-api.register(cosentry)
-
 
+@register()
 class cosentry_add(LDAPCreate):
     NO_CLI = True
 
@@ -145,15 +148,13 @@ class cosentry_add(LDAPCreate):
         del entry_attrs['cn']
         return dn
 
-api.register(cosentry_add)
-
 
+@register()
 class cosentry_del(LDAPDelete):
     NO_CLI = True
 
-api.register(cosentry_del)
-
 
+@register()
 class cosentry_mod(LDAPUpdate):
     NO_CLI = True
 
@@ -169,24 +170,21 @@ class cosentry_mod(LDAPUpdate):
                 self.obj.check_priority_uniqueness(*keys, **options)
         return dn
 
-api.register(cosentry_mod)
-
 
+@register()
 class cosentry_show(LDAPRetrieve):
     NO_CLI = True
 
-api.register(cosentry_show)
-
 
+@register()
 class cosentry_find(LDAPSearch):
     NO_CLI = True
 
-api.register(cosentry_find)
-
 
 global_policy_name = 'global_policy'
 global_policy_dn = DN(('cn', global_policy_name), ('cn', api.env.realm), ('cn', 'kerberos'), api.env.basedn)
 
+@register()
 class pwpolicy(LDAPObject):
     """
     Password Policy object
@@ -368,9 +366,8 @@ class pwpolicy(LDAPObject):
                     entry['attributelevelrights']['cospriority'] = \
                         cos_entry['attributelevelrights']['cospriority']
 
-api.register(pwpolicy)
-
 
+@register()
 class pwpolicy_add(LDAPCreate):
     __doc__ = _('Add a new group password policy.')
 
@@ -395,9 +392,8 @@ class pwpolicy_add(LDAPCreate):
         self.obj.convert_time_for_output(entry_attrs, **options)
         return dn
 
-api.register(pwpolicy_add)
-
 
+@register()
 class pwpolicy_del(LDAPDelete):
     __doc__ = _('Delete a group password policy.')
 
@@ -423,9 +419,8 @@ class pwpolicy_del(LDAPDelete):
             pass
         return True
 
-api.register(pwpolicy_del)
-
 
+@register()
 class pwpolicy_mod(LDAPUpdate):
     __doc__ = _('Modify a group password policy.')
 
@@ -467,9 +462,8 @@ class pwpolicy_mod(LDAPUpdate):
                     return
         raise exc
 
-api.register(pwpolicy_mod)
-
 
+@register()
 class pwpolicy_show(LDAPRetrieve):
     __doc__ = _('Display information about password policy.')
 
@@ -497,9 +491,8 @@ class pwpolicy_show(LDAPRetrieve):
         self.obj.convert_time_for_output(entry_attrs, **options)
         return dn
 
-api.register(pwpolicy_show)
-
 
+@register()
 class pwpolicy_find(LDAPSearch):
     __doc__ = _('Search for group password policies.')
 
@@ -546,5 +539,3 @@ class pwpolicy_find(LDAPSearch):
                     pass
 
         return truncated
-
-api.register(pwpolicy_find)
-- 
1.9.0

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to