[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
This commit is contained in:
Vincent Le Gallic 2013-03-22 15:49:16 +01:00
parent 102eb1bbd8
commit 4891c9d14e
2 changed files with 30 additions and 0 deletions

2
tools/b64decode/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*.ldif
*.b64decoded

28
tools/b64decode/base64decode.py Executable file
View file

@ -0,0 +1,28 @@
#!/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 :)"