[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:
parent
102eb1bbd8
commit
4891c9d14e
2 changed files with 30 additions and 0 deletions
28
tools/b64decode/base64decode.py
Executable file
28
tools/b64decode/base64decode.py
Executable 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 :)"
|
Loading…
Add table
Add a link
Reference in a new issue