Files
@ a718023f9e76
Branch filter:
Location: majic-ansible-roles/roles/ldap_server/molecule/default/tests/helpers.py - annotation
a718023f9e76
756 B
text/x-python
MAR-181: Drop support for Debian 9 Stretch from the backup_client role:
- Provide more details on use of pexpect+sftp backed for
Duplicity (backend has to be used on Debian 10 Buster as well, not
just Debian 9 Stretch).
- Switch to using IPs from VirtualBox default allowed host-only
network subnets.
- Provide more details on use of pexpect+sftp backed for
Duplicity (backend has to be used on Debian 10 Buster as well, not
just Debian 9 Stretch).
- Switch to using IPs from VirtualBox default allowed host-only
network subnets.
d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 d77f12671189 | import io
import ldif
def parse_ldif(ldif_input):
"""
Helper function that parses the passed-in LDIF string. This is a
simple wrapper around the Python LDAP ldif.LDIFRecordList class.
Entries are returned as list of (dn, attributes)
tuples. Attributes are represented by a dictionary mapping
attribute names to list of associated values.
:param ldif_input: LDIF to parse.
:type ldif_input: str
:returns: List of parsed entries.
:rtype: list[tuple(str, dict{str: list[str]})]
Returns:
"""
parser = ldif.LDIFRecordList(io.StringIO(ldif_input))
try:
parser.parse()
except Exception as e:
raise ValueError("Failed to parse input: %s" % str(e))
return parser.all_records
|