From e70f1da6d85249eec34ed8f503e20d126f2e68a7 Mon Sep 17 00:00:00 2001 From: Vincent Le Gallic Date: Tue, 8 Apr 2014 00:17:50 +0200 Subject: [PATCH] =?utf8?q?ugly=20hack=20pour=20dumper=20un=20fichier=20cim?= =?utf8?q?eti=C3=A8re=20en=20raw-ldif=20qu'on=20peut=20bazarder=20=C2=B1?= =?utf8?q?=20tel=20quel=20=C3=A0=20shelldap?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit attention quand même au dn et à virer l'objectClass qu'il met par défaut --- ressuscite_couteau_suisse.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 ressuscite_couteau_suisse.py diff --git a/ressuscite_couteau_suisse.py b/ressuscite_couteau_suisse.py new file mode 100755 index 0000000..f0844c2 --- /dev/null +++ b/ressuscite_couteau_suisse.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- + +""" Ne regardez pas ça, c'est affreux. + + Bon, si vous insistez, c'est parce que ressuscite est cassé, + ça permet de dumper un fichier du cimetière et de l'output en raw. + + Ensuite, bah shelldap…""" + +import sys +sys.path.append("/usr/scripts/gestion/") +import ldap_crans + +import cPickle + +def load(file=None): + """Charge le contenu du fichier.""" + if file is None: + file = sys.argv[1] + a = cPickle.load(open(file)) + return a + +def dump(obj): + """Raw-affiche l'objet""" + raw = [] + for (field, content) in obj._data.iteritems(): + for value in content: + raw.append("%s: %s" % (field, value)) + return "\n".join(raw) + "\n" + +if __name__ == "__main__": + print dump(load()) -- 2.39.2