README.md to README.rst

master
nanu2 2014-09-16 12:56:27 +02:00
parent a271ae65f6
commit 2b44855f02
4 changed files with 11 additions and 106 deletions

View File

@ -1,4 +1,5 @@
0.1 - initial version
0.1.1 - fixed pretty print of binary attribute
- fixed ldap.get sizelimit=1 exception for now
- added try catch to api
- added try catch to api
0.1.2 - README.md to README.rst

View File

@ -1,11 +1,11 @@
# file GENERATED by distutils, do NOT edit
CHANGES.txt
LICENSE.txt
MANIFEST.in
README.md
setup.py
ldapper/__init__.py
ldapper/api.py
ldapper/connection.py
ldapper/ldapperobject.py
ldapper/test/__init__.py
ldapper/test/test_ldapper.py
ldappr/__init__.py
ldappr/api.py
ldappr/connection.py
ldappr/ldapprobject.py
ldappr/test/__init__.py
ldappr/test/test_ldappr.py

View File

@ -1,95 +0,0 @@
Ldappr
=======
[![PyPI version](https://badge.fury.io/py/ldappr.svg)](http://badge.fury.io/py/ldappr)
Ldappr is a wrapper around python-ldap, meant for quick and easy handling of
common administrative tasks concerning your LDAP compliant repository. It is
particularly useful in small, one-time scripts to get things done, or
interactively within an iPython shell.
Installation
------------
Of course, python-ldap is supposed to be already installed.
```
pip install ldappr
```
Connect
-------
```python
import ldappr
# authenticated bind
ldap = ldappr.connect_to('127.0.0.1', 'uid=admin,ou=system', 'secret')
```
Retrieve objects
----------------
When you have a connection, you can search on it. First, specify the seach base.
```python
ldap.search_base = 'ou=users,ou=system'
```
Then, get one or more objects to manipulate.
```python
# retrieve a single object
user = ldap.get('cn=jdoe')
# retrieve a list of objects
users = ldap.search('objectClass=inetOrgPerson')
```
Do stuff
--------
Once you got an object, you can easily manipulate it. All changes will
immediately reflect in your LDAP repository.
```python
# pretty print the retrieved user
print(user)
# get an attribute value
sn = user.attrs['sn']
# set an attribute value (existing value will be removed)
user.set_value('givenName', 'Jack')
# add a value to a multi-valued attribute
user.add_value('mobile', '0123456789')
user.add_value('mobile', '9876543210')
# remove a value from a multi-valued attribute
user.remove_value('mobile', '9876543210')
```
Other examples
--------------
```python
# anonymous bind
ldap = ldappr.connect_to('127.0.0.1')
# authenticated bind with more options
ldap = ldappr.connect_to('127.0.0.1', 'uid=admin,ou=system', 'secret',
protocol='ldaps', port='10636', verify=False,
search_base='ou=users,ou=system')
# delete all objects with employeeType manager
for dn in ldap.get_dn('employeeType=manager'):
ldap.delete(dn)
# set an attribute value for a known dn
ldap.set_value('cn=jdoe,ou=users,ou=system', 'givenName', 'Jack')
# make an LDIF export for all users
with open('export.ldif', 'a') as file:
for user in ldap.search('objectClass=inetOrgPerson'):
file.write(user.to_ldif())
```

View File

@ -1,13 +1,12 @@
from distutils.core import setup
with open('README.md') as fh:
with open('README.rst') as fh:
long_description = fh.read()
setup(
name='ldappr',
version='0.1',
version='0.1.2',
packages=['ldappr', 'ldappr.test'],
install_requires=['python-ldap'],
url='https://github.com/nanu2/ldappr',
license='ICS',
author='Mike Helderman',