File: simple.py

package info (click to toggle)
python-ldap 2.3.11-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 940 kB
  • ctags: 1,011
  • sloc: python: 5,382; ansic: 2,559; makefile: 80; sh: 17
file content (106 lines) | stat: -rw-r--r-- 2,374 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import sys,getpass
import ldap

#l = ldap.open("localhost", 31001)
l = ldap.open("marta.it.uq.edu.au")

login_dn = "cn=root,ou=CSEE,o=UQ,c=AU"
login_pw = getpass.getpass("Password for %s: " % login_dn)
l.simple_bind_s(login_dn, login_pw)

#
# create a new sub organisation
#

try:
    dn = "ou=CSEE,o=UQ,c=AU"
    print "Adding", repr(dn)
    l.add_s(dn,
	 [
	    ("objectclass",["organizationalUnit"]),
	    ("ou", ["CSEE"]),
	    ("description", [
		    "Department of Computer Science and Electrical Engineering"]),
	 ]
       )

except _ldap.LDAPError:
    pass

#
# create an entry for me
#

dn = "cn=David Leonard,ou=CSEE,o=UQ,c=AU"
print "Updating", repr(dn)

try:
	l.delete_s(dn)
except:
	pass

l.add_s(dn,
     [
	("objectclass",			["organizationalPerson"]),
	("sn",				["Leonard"]),
	("cn",				["David Leonard"]),
	("description",			["Ph.D. student"]),
	("display-name",		["David Leonard"]),
	#("commonname",			["David Leonard"]),
	("mail",			["david.leonard@csee.uq.edu.au"]),
	("othermailbox",		["d@openbsd.org"]),
	("givenname",			["David"]),
	("surname",			["Leonard"]),
	("seeAlso",			["http://www.csee.uq.edu.au/~leonard/"]),
	("url",				["http://www.csee.uq.edu.au/~leonard/"]),
	#("homephone",			[]),
	#("fax",			[]),
	#("otherfacsimiletelephonenumber",[]),
	#("officefax",			[]),
	#("mobile",			[]),
	#("otherpager",			[]),
	#("officepager",		[]),
	#("pager",			[]),
	("info",			["info"]),
	("title",			["Mr"]),
	#("telephonenumber",		[]),
	("l",				["Brisbane"]),
	("st",				["Queensland"]),
	("c",				["AU"]),
	("co",				["co"]),
	("o",				["UQ"]),
	("ou",				["CSEE"]),
	#("homepostaladdress",		[]),
	#("postaladdress",		[]),
	#("streetaddress",		[]),
	#("street",			[]),
	("department",			["CSEE"]),
	("comment",			["comment"]),
	#("postalcode",			[]),
	("physicaldeliveryofficename",  ["Bldg 78, UQ, St Lucia"]),
	("preferredDeliveryMethod",	["email"]),
	("initials",			["DRL"]),
	("conferenceinformation",	["MS-conferenceinformation"]),
	#("usercertificate",		[]),
	("labeleduri",			["labeleduri"]),
	("manager",			["cn=Jaga Indulska"]),
	("reports",			["reports"]),
	("jpegPhoto",			[open("/www/leonard/leonard.jpg","r").read()]),
	("uid",				["leonard"]),
	("userPassword",		[""])

    ])

#
# search beneath the CSEE/UQ/AU tree
#

res = l.search_s(
	"ou=CSEE, o=UQ, c=AU", 
	_ldap.SCOPE_SUBTREE, 
	"objectclass=*",
      )
print res

l.unbind()