Base class to manage models with ldapom.
Project description
# LDAPOM Model
Provides base class LDAPModel create a model using [LDAPOM](https://pypi.python.org/pypi/ldapom/0.11.0).
## Installation
pip install ldapom-model
## Example
from ldapom-model import LDAPModel, LDAPAttr
class Person(LDAPModel):
_class = 'inetOrgPerson'
_class_attrs = {'cn': LDAPAttr('cn'),
'o': LDAPAttr('o'),
'mail': LDAPAttr('mail'),
'lastname': LDAPAttr('sn'),
'firstname': LDAPAttr('givenName'),
'phone': LDAPAttr('telephoneNumber'),
'address': LDAPAttr('postalAddress')}
_rdn = 'cn'
def __str__(self):
return self.name
@property
def name(self):
return ' '.join([self.givenName, self.sn]) if self.givenName else self.sn
And then :
from ldapom import LDAPConnection
conn = LDAPConnection(uri="ldap://ldap.example.net", base="dc=example,dc=net", bind_dn="cn=root,dc=example,dc=net", bind_password="rootpassword")
toto = Person.retrieve(conn, "toto")
toto.mail = "toto@example.net"
toto.firstname = "foo"
toto.save()
persons = Person.search(conn)
## Licence
This code is under [WTFPL](https://en.wikipedia.org/wiki/WTFPL). Just do what the fuck you want with it.
Provides base class LDAPModel create a model using [LDAPOM](https://pypi.python.org/pypi/ldapom/0.11.0).
## Installation
pip install ldapom-model
## Example
from ldapom-model import LDAPModel, LDAPAttr
class Person(LDAPModel):
_class = 'inetOrgPerson'
_class_attrs = {'cn': LDAPAttr('cn'),
'o': LDAPAttr('o'),
'mail': LDAPAttr('mail'),
'lastname': LDAPAttr('sn'),
'firstname': LDAPAttr('givenName'),
'phone': LDAPAttr('telephoneNumber'),
'address': LDAPAttr('postalAddress')}
_rdn = 'cn'
def __str__(self):
return self.name
@property
def name(self):
return ' '.join([self.givenName, self.sn]) if self.givenName else self.sn
And then :
from ldapom import LDAPConnection
conn = LDAPConnection(uri="ldap://ldap.example.net", base="dc=example,dc=net", bind_dn="cn=root,dc=example,dc=net", bind_password="rootpassword")
toto = Person.retrieve(conn, "toto")
toto.mail = "toto@example.net"
toto.firstname = "foo"
toto.save()
persons = Person.search(conn)
## Licence
This code is under [WTFPL](https://en.wikipedia.org/wiki/WTFPL). Just do what the fuck you want with it.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ldapom-model-0.0.3.tar.gz
(3.7 kB
view details)
File details
Details for the file ldapom-model-0.0.3.tar.gz.
File metadata
- Download URL: ldapom-model-0.0.3.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4681d203bbd09c74337747a5693a180e5f9e290c40b7e4201c677ae11336b8ff
|
|
| MD5 |
6bfa7e9917f4ec9f40871bb9ea95290d
|
|
| BLAKE2b-256 |
49a63147ad06f66f2f4b3810174b27f7c93bd2e212878a63e907a268f8d8b9d0
|