lc_ldap/tools/b64decode/base64decode.py
Vincent Le Gallic 4891c9d14e [tools/b62decode] Script "crade" pour rendre human-readable un ldif avec du base64 dedans.
Le .gitignore du dossier sert à ne pas versionner les fichiers d'exemple/test
2013-03-22 15:49:16 +01:00

28 lines
708 B
Python
Executable file

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
""" Affiche en human readable un ldif (de slapcat, par exemple)
en décodant les parties en base64 """
import re
import base64
import sys
regexp = re.compile("(?P<cle>[A-Za-z]*):: (?P<valeur>(?:[A-Za-z0-9/+]*(?:\n )?)*={0,3})")
def remplace(objet):
groups = objet.groupdict()
return "%s: %s" % (groups["cle"], base64.b64decode(groups["valeur"]))
def perform(texte):
return re.sub(regexp, remplace, texte)
if __name__ == "__main__":
filename = sys.argv[1]
with open(filename) as f:
texte = f.read()
with open(filename + ".b64decoded", "w") as g:
g.write(perform(texte).replace("\n ", ""))
print "Done :)"