import ldap
import ConnectionMaker

class Cippie(ConnectionMaker.ConnectionMaker):
	useSSL = 1 
	ServerDNSName = "someserver.somecomp.com" #PRIV
	Admin = "cn=admin,ou=somedept,o=somecompany" #PRIV
	AdminPassword = "secret" #PRIV
	if useSSL == 0:
		ServerURI = "ldap://"+ServerDNSName+":389"
	if useSSL == 1:
		ServerURI = "ldaps://"+ServerDNSName+":636"
	NDSLoginContext = ""
	AdminPassword = ""
	CourseContext = "ou=2003ss, ou=Wahlpflichtkurse, o=somecompany"
	StudentContext = "ou=studenten, o=somecompany"
	
	def getConnection (self):
		try:
			c = ldap.initialize (self.ServerURI)
			if self.useSSL == 1:
				c.simple_bind_s(self.Admin, self.AdminPassword)
			return c
		except ldap.LDAPError, e:
			print ("ConnMakerException")
			print ldap.LDAPError
			self.errString = self.errString + ("%s" % e)
			return None
    
	def getStudentContext (self):
	    return self.StudentContext
	
	def getCourseContext (self,term):
		return "ou=" + term + ", " + self.CourseContext

