Skip to main content

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 from the Sphinx documentation.

Get a connection (this custom afpy connection get is configuration from a ~/.ldap.ini file. See Installation and configuration):

>>> 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>
...

The source code can be find on the AFPy repository

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

Release files for afpy.ldap 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for afpy.ldap 1.0
File Size Uploaded
afpy.ldap-1.0.tar.gz 34.1 kB Details

Release files / afpy.ldap-1.0.tar.gz

Download URL afpy.ldap-1.0.tar.gz
Size 34.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5e1c1bc99817dbd95cba2f70da69bb90bbe3b5186a88cb35f5dc2317efad4c47
BLAKE2b-256 checksum
How to use checksums
37d5b7af2ed7880366882b7a37600bc32d8546f0820cba00ba29521a3672e6ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0 This release

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8

1 release file

0.7

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page