Possibilit de connexion en lecture seule via la socket.

darcs-hash:20051123220522-41617-09b8f9c2ff2f77eb570a3d57b0e2e373c819e355.gz
This commit is contained in:
pauget 2005-11-23 23:05:22 +01:00
parent 30e8237c9a
commit 394b4773b5

View file

@ -28,6 +28,8 @@ except:
date_format='%d/%m/%Y %H:%M'
hostname = gethostname().split(".")[0]
# Uri pour lecture écriture
if hostname == 'egon' and not '/usr/scripts/gestion/' in sys.argv[0]:
# pour les tests, les séminaires... sur egon
uri = 'ldapi://%2fvar%2frun%2fldapi/'
@ -36,6 +38,12 @@ if hostname == 'egon' and not '/usr/scripts/gestion/' in sys.argv[0]:
else:
uri = 'ldap://ldap.adm.crans.org/'
# Uri pour les instances de crans_ldap faisant de la lecture seule
if os.path.exists('/var/run/ldapi') :
ro_uri = 'ldapi://%2fvar%2frun%2fldapi/'
else :
ro_uri = uri
smtpserv = "rouge.crans.org"
random.seed() # On initialise le générateur aléatoire
@ -217,8 +225,8 @@ class crans_ldap:
# Scope des différentes recherches
scope = { 'adherent': 1 , 'machine': 2 , 'club': 1 }
def __init__(self):
self.connect()
def __init__(self,readonly=False):
self.connect(readonly)
def __del__(self):
# Destruction des locks résiduels
@ -226,9 +234,14 @@ class crans_ldap:
for lock in self._locks:
self.remove_lock(lock)
def connect(self):
def connect(self,readonly=False):
""" Initialisation la connexion vers le serveur LDAP """
if readonly :
self.conn = ldap.initialize(ro_uri)
return
self.conn = ldap.initialize(uri)
while True :
try:
self.conn.bind_s(ldap_auth_dn,ldap_password,ldap.AUTH_SIMPLE)