Metadata-Version: 1.0
Name: afpy.ldap
Version: 0.8.2
Summary: This module provide an easy way to deal with ldap stuff in python.
Home-page: http://hg.afpy.org/gawel/afpy.ldap/
Author: Gael Pasgrimaud
Author-email: gael@gawel.org
License: MIT
Description: 
        afpy.ldap
        =========
        
        This module is actively used on http://www.afpy.org to manage the french python comunity members.
        
        The following examples show all features of the package. If you just want to
        give it a try in a quickest way read `Installation and configuration
        <http://hg.afpy.org/gawel/afpy.ldap/install.html>`_ from the Sphinx
        documentation.
        
        
        Get a connection (this custom afpy connection get is configuration from a
        `~/.ldap.ini` file. See `Installation and configuration
        <http://hg.afpy.org/gawel/afpy.ldap/install.html>`_)::
        
        >>> from afpy.ldap import custom as ldap
        >>> conn = ldap.get_conn()
        
        Get a node via is dn::
        
        >>> dn = 'uid=gawel,ou=members,dc=afpy,dc=org'
        >>> node = conn.get_node(dn)
        >>> node
        <Node at uid=gawel,ou=members,dc=afpy,dc=org>
        
        >>> print node.birthDate
        19750410000000Z
        
        You can also define your own node class with a schema::
        
        >>> from afpy.ldap.node import Node
        >>> from afpy.ldap import schema
        >>> class User(Node):
        ...     uid=schema.StringProperty('uid')
        ...     birthDate = schema.DateProperty('birthDate', title='Date de naissance')
        >>> node = conn.get_node(dn, node_class=User)
        >>> node
        <User at uid=gawel,ou=members,dc=afpy,dc=org>
        
        Then data is converted to a python object::
        
        >>> node.birthDate
        datetime.date(1975, 4, 10)
        
        This also allow to generate forms with FormAlchemy_::
        
        >>> from afpy.ldap import forms
        >>> fs = forms.FieldSet(User)
        >>> user = User()
        >>> fs.rebind(user)
        >>> print fs.render().strip() # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
        <div>
        <label class="field_opt" for="User--uid">Uid</label>
        <input id="User--uid" name="User--uid" type="text" />
        </div>
        ...
        <div>
        <label class="field_opt" for="User--birthDate">Date de naissance</label>
        ...
        
        .. _FormAlchemy: http://docs.formalchemy.org
        
        The source code can be find on the `AFPy repository`_
        
        .. _AFPy repository: http://hg.afpy.org/gawel/afpy.ldap/summary
        
        Got a bug, feature request ? Want to send beer because you love it ? Send an
        email at gawel@afpy.org or join us on the #afpy channel on freenode.
        
        
        
        News
        =====
        
        0.8.2
        ------
        
        - Add ListOfGroups and ListOfPerms attributes. Allow to set user.groups = []
        
        0.8.1
        -----
        
        - fix authentification failure when uid does not exist
        
        0.8
        ---
        
        - small fixes
        
        - add GroupOfUniqueNames
        
        0.7
        ---
        
        - Add repoze.what plugins
        
        - Allow to set node classes via config file
        
        - fix compat with latest python-ldap
        
        0.5
        -----
        
        - require dataflake.ldapconnection>=1.0b1, python-ldap>=2.3.10
        
        0.1
        -----
        
        - initial version
        
        
        
        
Keywords: ldap repoze what
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware
