import re
import logging
+from functools import cmp_to_key
+
# Third party modules
-import yaml
+# import yaml
# Own modules
# from fb_tools.common import to_bool, is_sequence
from .ldap import LdapAppError
from .ldap import BaseLdapApplication
-__version__ = '0.3.1'
+__version__ = '0.3.2'
LOG = logging.getLogger(__name__)
_ = XLATOR.gettext
LOG.debug(_("Writing export file {!r} ...").format(self.export_file))
with open(
self.export_file, 'wt', encoding='utf-8', errors='surrogateescape') as fh:
- yaml.dump(
- self.failed_entries.as_dict(pure=True), fh, explicit_start=True,
- default_flow_style=False, indent=2)
+ print('---', file=fh)
+ sorted_dns = sorted(
+ list(self.failed_entries.keys()), key=cmp_to_key(self.compare_ldap_dns))
+ for dn in sorted_dns:
+ entry = self.failed_entries[dn]
+ print("'{}':".format(dn), file=fh)
+ for attr in entry.keys():
+ print(' {}:'.format(attr), file=fh)
+ for val in self.failed_entries[dn][attr]:
+ print(" - '{}'".format(val), file=fh)
self.exit(5)
msg = _("Did not found any inconsistent entries.")