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
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
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
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
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
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
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
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
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
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
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 {}
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
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
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
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
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
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
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
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
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