This is somewhat of a tech-preview patch. It works, but the whole concept might need some more work/thinking done.

It adds another way to extend plugins without resorting to the versioning system.

Until now, every baseldap command had two callbacks. The pre-callback called before data was passed to python-ldap and the post-callback called after.

This patch introduces class methods, that enable the registration of new pre/post callbacks. It supports top level functions as well, so you don't have to touch the original class at all.

It works likes this:

from ipalib.plugins.user import user_show

def test_callback(inst, ldap, dn, attrs_list, *keys, **options):'hello callback world!')
    attrs_list = ['uid'] # only retrieve the user name
    return dn


The original callbacks defined in the class are always called first.


Attachment: 0001-Add-interface-for-baseldap-plugins-to-register-addit.patch
Description: application/mbox

Freeipa-devel mailing list

Reply via email to