Split de lc_ldap.py en lc_ldap.py et objets.py + création du wrapper shortcuts.py

Ça permet de faire les choses sales du genre os.getenv("SUDO_USER") ou import_secrets
dans le wrapper et pas dans le binding même.
This commit is contained in:
Vincent Le Gallic 2013-05-16 06:59:14 +02:00
parent a620f5b5e9
commit db7d41d967
8 changed files with 968 additions and 867 deletions

View file

@ -1,7 +1,9 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# ATTRIBUTS.PY-- Description des attributs ldap
""" Définition des classes permettant d'instancier les attributs LDAP. """
#
# Copyright (C) 2010-2013 Cr@ns <roots@crans.org>
# Authors: Antoine Durand-Gasselin <adg@crans.org>
@ -160,6 +162,16 @@ class AttrsDict(dict):
def items(self):
return [(key, self[key]) for key in self]
def to_ldif(self):
"""
Transforme le dico en ldif valide au sens openldap.
Ce ldif est celui qui sera transmis à la base.
"""
ldif = {}
for attr, vals in self.items():
ldif[attr] = [ str(val) for val in vals ]
return ldif
class Attr(object):
"""Objet représentant un attribut.