[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
2
tools/b64decode/.gitignore
vendored
Normal file
2
tools/b64decode/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
*.ldif
|
||||||
|
*.b64decoded
|
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