本模块提供了一种在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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5e1c1bc99817dbd95cba2f70da69bb90bbe3b5186a88cb35f5dc2317efad4c47 |
|
MD5 | 29230cf03ed94c2b07903eb932bf9fa0 |
|
BLAKE2b-256 | 37d5b7af2ed7880366882b7a37600bc32d8546f0820cba00ba29521a3672e6ba |