On place la fonction escape dans crans_utils

This commit is contained in:
Vincent Le Gallic 2013-05-16 01:35:58 +02:00
parent c392a2a986
commit debaa31bf3
2 changed files with 6 additions and 22 deletions

View file

@ -37,6 +37,7 @@ import time
import smtplib
import sys
import os
import ldap.filter
sys.path.append('/usr/scripts/gestion')
import config
from unicodedata import normalize
@ -173,23 +174,6 @@ def validate_name(value, more_chars=""):
else:
raise ValueError("Nom invalide ('%s')" % value)
def ldap_sanitize(s):
""" Échappe les caractères spéciaux ldap.
(Si vous avez une méthode plus propre pour coder ça, je suis preneur)
Todo: rajouter conversion pour caractère utf-8 multioctets ?
(cf http://blog.dzhuvinov.com/?p=585 )
"""
replace = {
'*': '\\2a',
'(': '\\28',
')': '\\29',
'\\': '\\5c',
'\x00': '\\00'}
def conv(c):
try: return replace[c]
except KeyError: return c
return "".join([conv(c) for c in s])
def process_status(pid):
"""
Vérifie l'état du processus pid
@ -199,3 +183,8 @@ def process_status(pid):
return False
else:
return True
def escape(chaine):
"""Renvoie une chaîne échapée pour pouvoir la mettre en toute sécurité
dans une requête ldap."""
return ldap.filter.escape_filter_chars(chaine)