This is an old revision of the document!
Pe stația client este instalat pachetul python-ldap util pentru programarea unui client LDAP în Python.
Fișierul de mai jos implementează căutarea intrărilor LDAP pentru utilizatorii al căror atribut cn începe cu Mihai și afișează pentru aceștia atributele cn și e-mail.
#!/usr/bin/env python import sys import ldap def main(): ldap.set_option(ldap.OPT_PROTOCOL_VERSION, 3) l = ldap.initialize("ldaps://swarm.cs.pub.ro") entries = l.search_s("ou=People,dc=swarm,dc=cs,dc=pub,dc=ro", ldap.SCOPE_SUBTREE, '(cn=Mihai*)', ['cn', 'mail']) for dn, attrs in entries: print 'Found:', repr(dn) print attrs if __name__ == "__main__": sys.exit(main())
Fișierul se găsește și pe stația client și îl putem rula:
root@ldap-client:~# python simple-ldap.py Found: 'uid=mihai,ou=People,dc=swarm,dc=cs,dc=pub,dc=ro' {'mail': ['XXXXXX@gmail.com'], 'cn': ['Mihai Maruseac']} Found: 'uid=moro,ou=People,dc=swarm,dc=cs,dc=pub,dc=ro' {'mail': ['XXXXXX@gmail.com'], 'cn': ['Mihai Morogan']} [...]
Actualizați scriptul astfel încât sa extragă din intrările de mai sus acele intrări ale căror adresă de e-mail conține șirul @gmail.com. Apoi afișați doar atributele uid, cn și email pe o singură linie, separate prin virgulă, la fel ca mai jos:
mihai, Mihai Maruseac, XXXXXX@gmail.com moro, Mihai Morogan, XXXXXX@gmail.com
attrs este un dicționar. Pentru a obține fiecare element numit item dintr-un dicționar d folosiți construcția d['item'].
Fiecare element din dicționarul attrs este o listă. Pentru a obține primul element (cel căutat) din listă, folosiți o expresie de forma l[0], unde l este lista.