跳转到主要内容

本模块提供了一种在Python中处理LDAP内容的简单方法。

项目描述

afpy.ldap

本模块在http://www.afpy.org上积极使用,用于管理法国Python社区成员。

以下示例展示了该软件包的所有功能。如果您想尽快尝试,请阅读Sphinx文档中的安装和配置

获取一个连接(此自定义afpy连接从~/.ldap.ini文件获取配置。见安装和配置

>>> from afpy.ldap import custom as ldap
>>> conn = ldap.get_conn()

通过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

您也可以使用模式定义自己的节点类

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

然后数据被转换为Python对象

>>> node.birthDate
datetime.date(1975, 4, 10)

这还允许使用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>
...

源代码可以在AFPy存储库中找到

发现了一个错误,有功能请求吗?想因为喜欢而送啤酒吗?请发送电子邮件至 gawel@afpy.org 或加入 freenode 的 #afpy 频道。

新闻

0.8.2

  • 添加了 ListOfGroups 和 ListOfPerms 属性。允许设置 user.groups = []

0.8.1

  • 修复了当 uid 不存在时的认证失败问题

0.8

  • 小的修复

  • 添加了 GroupOfUniqueNames

0.7

  • 添加了 repoze.what 插件

  • 允许通过配置文件设置节点类

  • 修复了与最新 python-ldap 的兼容性

0.5

  • 需要 dataflake.ldapconnection>=1.0b1, python-ldap>=2.3.10

0.1

  • 初始版本

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

afpy.ldap-1.0.tar.gz (34.1 kB 查看哈希值)

上传时间 源代码

支持