示例#1
0
    def registerSchool(self, schoolName):
        if not self.__SchoolExists(schoolName):
            password = self.__generatePassword(6)
            studentPassword = self.__generatePassword(6)

            aSchool = School(name=schoolName, listStudents=[], password=password, studentPassword=studentPassword)

            if not self.db.has("schools"):
                self.db.createTable("schools")
            schools = self.db.getTable("schools")
            aSchool.store(schools)
            return True
        else:
            return False
示例#2
0
	def getSchoolList(self):
		if not self.db.has('schools'): 
			return False
		else:
			schoolsTable = self.db.getTable('schools')
		schools = [School.load(schoolsTable,entry).name for entry in schoolsTable]
		return schools
示例#3
0
 def getSchoolsNameList(self):
     schoolsTable = self.db.getTable("schools")
     schoolsList = []
     schools = [School.load(schoolsTable, entry) for entry in schoolsTable]
     for school in schools:
         schoolsList.append(school.name)
     return schoolsList
示例#4
0
	def __SchoolExists(self,schoolName):
		if self.db.has('schools'): 
			schoolsTable = self.db.getTable('schools')
			schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
			for school in schools:
				if schoolName in school.name:
					return True
		return False
示例#5
0
	def getStudentsPassword(self,schoolName):
		if self.__SchoolExists(schoolName):
			schoolsTable = self.db.getTable('schools')
			schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
			for school in schools:
				if schoolName == school.name:
					return school.studentPassword
		return None
示例#6
0
 def getSchoolPassword(self, schoolName):
     if self.db.has("schools"):
         schoolsTable = self.db.getTable("schools")
         schools = [School.load(schoolsTable, entry) for entry in schoolsTable]
         for school in schools:
             if schoolName in school.name:
                 return school.password
     return None
示例#7
0
	def __AdminExists(self,name):
		if self.db.has('admins-jogodojornal'): 
			adminsTable = self.db.getTable('admins-jogodojornal')				
			admins = [School.load(adminsTable,entry) for entry in adminsTable]
			for school in admins:
				if name in school.name:
					return True
		return False
示例#8
0
 def removeSchool(self, schoolName):
     if self.db.has("schools"):
         schoolsTable = self.db.getTable("schools")
         schools = [School.load(schoolsTable, entry) for entry in schoolsTable]
         for school in schools:
             if schoolName in school.name:
                 self.db.deleteDocument("schools", school)
                 return True
     return False
示例#9
0
	def isValidSchool(self,schoolName,schoolPassword):
		if not self.db.has('schools'): 
			return False
		else:
			schoolsTable = self.db.getTable('schools')
		schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
		for school in schools:
			if schoolName in school.name and schoolPassword == school.password:
				return True
		return False
示例#10
0
	def isValidAdmin(self, name, password):
		if not self.db.has('admins-jogodojornal'): 
			return False
		else:
			adminTable = self.db.getTable('admins-jogodojornal')
		admins = [School.load(adminTable,entry) for entry in adminTable]
		for admin in admins:
			if name in admin.name and password == admin.password:
				return True
		return False
		
示例#11
0
	def getStudentsList(self,schoolName):
		listR = {}
		if self.__SchoolExists(schoolName):
			schoolsTable = self.db.getTable('schools')
			schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
			for school in schools:
				if schoolName == school.name:
					students = school['listStudents']
					for student in students:
						listR[student["_id"]]=student["grade"]
		return listR
示例#12
0
 def getReport(self, schoolName):
     assert schoolName or schoolName!=''
     if self.__SchoolExists(schoolName):
         form = {}
         schoolsTable = self.db.getTable('schools')
         schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
         for school in schools:
             if schoolName == school.name:
                 for key in school.reportForm:
                     form[key] = school.reportForm[key]
                 return form
     return {}
示例#13
0
	def saveText(self,studentName,schoolName,genre,text,listCrits=[]):
		if self.__SchoolExists(schoolName):
			schoolsTable = self.db.getTable('schools')
			schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
			for school in schools:
				if schoolName == school.name:
					students = school.listStudents
					for student in students:
						if student._id == studentName:
							student.listTexts.append(genre=genre,text=text,listCrits=listCrits)
							school.store(schoolsTable)
							return True
		return False
示例#14
0
	def addComment(self, schoolName, studentName, genre,comment):
		if self.__SchoolExists(schoolName):
			schoolsTable = self.db.getTable('schools')
			schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
			for school in schools:
				if schoolName == school.name:
					students = school.listStudents
					for student in students:
						if student._id == studentName:
							student.comments.append(genre=genre,comment=comment)
							school.store(schoolsTable)
							return True
		return False
示例#15
0
	def addStudentToSchool(self,schoolName,studentName,studentGrade):
		if self.__SchoolExists(schoolName):
			schoolsTable = self.db.getTable('schools')
			schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
			for school in schools:
				if schoolName == school.name:
					students = school['listStudents']
					for student in students:
						if  student["_id"] == studentName:
							return False
					school.listStudents.append(_id=studentName, grade=studentGrade)
					school.store(schoolsTable)
					return True
		return False
示例#16
0
	def deleteStudentFromSchool(self,schoolName,studentName):
		if self.__SchoolExists(schoolName):
			schoolsTable = self.db.getTable('schools')
			schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
			for school in schools:
				if schoolName == school.name:
					students = school['listStudents']
					for student in students:
						if  student["_id"] == studentName:
							school.removeStudent(student)
							school.store(schoolsTable)
							return True
		print 'IMPOSSIBLE TO REMOVE THE STUDENT'
		return False
示例#17
0
 	def getNbOfTries(self,studentName,schoolName,genre):
		count=0
		if self.__SchoolExists(schoolName):
			schoolsTable = self.db.getTable('schools')
			schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
			for school in schools:
				if schoolName == school.name:
					students = school.listStudents
					for student in students:
						if student._id == studentName:
							for text in student.listTexts:
								if text.genre == genre:
									count += 1
		return count
示例#18
0
	def isValidStudent(self,schoolName,studentName,studentPassword):
		if not self.db.has('schools'): 
			return False
		else:
			schoolsTable = self.db.getTable('schools')
		schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
		for school in schools:
			if schoolName == school.name:
				students = school['listStudents']
				for student in students:
					if studentName == student["_id"] and school.studentPassword == studentPassword:
						return True
				else:
					return False
		return False
示例#19
0
	def getLastText(self, schoolName, studentName, criteria):
		if self.__SchoolExists(schoolName):
			schoolsTable = self.db.getTable('schools')
			schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
			lastDate = None
			lastText = ""
			for school in schools:
				if schoolName == school.name:
					students = school.listStudents
					for student in students:
						if student._id == studentName:
							for aTry in student.listTexts:
								if aTry.genre == criteria:
									if not lastDate or lastDate < aTry.date:
										lastDate = aTry.date
										lastText = aTry.text
							return lastText
		return None
示例#20
0
	def getLastComment(self, schoolName, studentName, genre):
		if self.__SchoolExists(schoolName):
			schoolsTable = self.db.getTable('schools')
			schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
			lastDate = None
			lastComment = ""
			for school in schools:
				if schoolName == school.name:
					students = school.listStudents
					for student in students:
						if student._id == studentName:
							for comment in student.comments:
								if comment.genre == genre:
									if not lastDate or lastDate < comment.date:
										lastDate = comment.date
										lastComment = comment.comment
							return lastComment
		return None
示例#21
0
 def saveReport(self,schoolName,teacherName,qualif,question0,question1,question2,question3,question4,question5,question6,question7,question8,question9):
     assert (question0 == 0 or question0 == 1) 
     assert (question1 == 0 or question1 == 1) 
     assert  (question2 == 0 or question2 == 1) 
     assert  (question3 == 0 or question3 == 1) 
     assert  (question4 == 0 or question4 == 1)
     assert (question5 == 0 or question5 == 1 or question5 == 2) 
     assert  (question6 == 0 or question6 == 1) 
     assert  (question7 == 0 or question7 == 1) 
     assert  (question8 == 0 or question8 == 1) 
     assert  (question9 == 0 or question9 == 1) 
     
     if self.__SchoolExists(schoolName):
         schoolsTable = self.db.getTable('schools')
         schools = [School.load(schoolsTable,entry) for entry in schoolsTable]
         for school in schools:
             if schoolName == school.name:
                 report = ReportForm(teacherName=teacherName,qualification=qualif,question0=question0,question1=question1,question2=question2,question3=question3,question4=question4,question5=question5,question6=question6,question7=question7,question8=question8,question9=question9)
                 school.reportForm = report
                 school.store(schoolsTable)
                 return True
     return False
示例#22
0
    schools = None
    
    db = dbConnector("jogodojornal")

    print "--> Students..."

    aStudent = Student(_id="Damien",grade="9th grade")
    aStudent = Student(_id="Chuck",grade="9th grade")
    aStudent = Student(_id="Pedro",grade="9th grade")
    aStudent = Student(_id="Didier",grade="9th grade")
    print aStudent
    
    print '--> Schools...'
    if not db.has("schools"):
        db.createTable('schools')
    schools = db.getTable('schools')
    aSchool = School(name="Escola Santa Clara" ,password='******',studentPassword='******',email='*****@*****.**')
    aSchool.addStudent(aStudent)
    aSchool.store(schools)
    
    print '--> Admin...'
    
    anAdmin = Admin(name='damien' , email = '*****@*****.**', password = '******')
    if not db.has('admins-jogodojornal'): 
        db.createTable('admins-jogodojornal')
    admins = db.getTable('admins-jogodojornal')
    anAdmin.store(admins)
    print anAdmin
    
    print '--> Finished...'