CSH LDAP ORM
Reason this release was yanked:
doesn't work :)
Project description
csh-ldap
Python 3 ORM for CSH LDAP
Installation
pip install csh-ldap
Usage
import csh-ldap
# Create an unbatched instance
instance = csh_ldap.CSHLDAP(bind_dn, bind_pw)
# Create an batched instance
instance_batched = csh_ldap.CSHLDAP(bind_dn, bind_pw, batch_mods=True)
# Create a Read-Only instance that will only echo your changes
instance_ro = csh_ldap.CSHLDAP(bind_dn, bind_pw, ro=True)
# Get member by UUID
liam = instance.get_member(uuid_of_liam)
# Get member by UID
liam = instance.get_member(uid_of_liam, uid=True)
# Get member by iButton ID
liam = instance.get_member_ibutton(ibutton_id)
# Get member by Slack UID
liam = instance.get_member_slackuid(slack_uid)
# Get group by cn
rtp = instance.get_group('rtp')
# get group member uids
rtp = instance.get_group('rtp').get_member_uids()
# returns ['spaced', ...]
# get group member uids (other way)
rtp = instance.get_group_member_uids(groups=["rtp"])
# get uids of members in two (or more) groups and not in groups
fancy = instance.get_group_member_uids(groups=["rtp", "onfloor"], excluded=["eboard-opcomm"])
# get uuids of members in two (or more) groups and not in groups
# that's right! ipaUniqueId
fancy = instance.get_group_member_uuids(groups=["rtp", "onfloor"], excluded=["eboard-opcomm"])
# get other miscellaneous attributes of members in group
# look how rich drink admins are (admin abuse!!!)
admin_abuse = instance.get_group_member_attributes(group=["drink"], attributes=["uid", "drinkBalance"])
# returns dicts for each member
"""
I wonder what happened here
[
{
'uid': 'cole',
'drinkBalance': '996246'
},
{
'uid': 'zxcv',
'drinkBalance': '3847173'
}
]
"""
# Get cn of member
print(liam.cn)
# Set cn of member
liam.cn = "Liam Middlebrook"
# Setting attributes to None removes them
liam.roomNumber = None
# Process batched writes per-dn
instance_batched.flush_mod()
# Get EBoard Directorship
# Directorships: ['chairman', 'evaluations', 'financial', 'history', 'imps', 'opcomm', 'research', 'social']
social = instance.get_directorship_heads('social')
for director in social:
# Directorships are always lists, since it can be multiple people.
print(director.cn)
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
csh_ldap-2.5.4.tar.gz
(11.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file csh_ldap-2.5.4.tar.gz.
File metadata
- Download URL: csh_ldap-2.5.4.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc437da90806264b1f20edbc77737d31963c68828079ef28ae79b62885effdcb
|
|
| MD5 |
66810796d80d306e382d3a63c2f46a9d
|
|
| BLAKE2b-256 |
0f1f875b2ed90c66faeeb3f44fb5f92ee8b177b4cf27e661799876636f3d7020
|
File details
Details for the file csh_ldap-2.5.4-py3-none-any.whl.
File metadata
- Download URL: csh_ldap-2.5.4-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c5edef7a95fae32dd876839a5a217052e18ed8499e2041e19906ae31d6dbbb9
|
|
| MD5 |
d877dca48cb0b30a342cd9b3a2e4c225
|
|
| BLAKE2b-256 |
0b67669fe004409abac2afec09a8952582b34e5b91a002a35af5ea6a95497fa2
|