本文整理汇总了Python中DatabaseController.updateExistingTimetableRecord方法的典型用法代码示例。如果您正苦于以下问题:Python DatabaseController.updateExistingTimetableRecord方法的具体用法?Python DatabaseController.updateExistingTimetableRecord怎么用?Python DatabaseController.updateExistingTimetableRecord使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DatabaseController
的用法示例。
在下文中一共展示了DatabaseController.updateExistingTimetableRecord方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: updateTimetable
# 需要导入模块: import DatabaseController [as 别名]
# 或者: from DatabaseController import updateExistingTimetableRecord [as 别名]
def updateTimetable(listOfTimetableData):
if listOfTimetableData.__len__() > 0:
schoolId = int(listOfTimetableData[4])
studentId = int(listOfTimetableData[5])
listOfStoredRecords = DatabaseController.getStudentTimetable(schoolId, studentId)
currentStateIndex = 0
storedStateIndex = 0
while currentStateIndex < listOfTimetableData.__len__():
weekdayId = int(listOfTimetableData[currentStateIndex])
startHour = int(listOfTimetableData[currentStateIndex + 1])
startMin = int(listOfTimetableData[currentStateIndex + 2])
lessonLength = int(listOfTimetableData[currentStateIndex + 3])
schoolLessonId = int(listOfTimetableData[currentStateIndex + 6])
teacherId = int(listOfTimetableData[currentStateIndex + 7])
locationId = int(listOfTimetableData[currentStateIndex + 8])
classroomId = int(listOfTimetableData[currentStateIndex + 9])
# Determine the endHour for the lesson and the classroomLocationId
endMinutes = startMin + lessonLength
additionalHours = 0
while endMinutes > 60:
additionalHours += 1
endMinutes -= 60
endHour = int(startHour + additionalHours)
classroomLocationIdRecord = DatabaseController.getClassroomLocationIdBasedOnLocationIdAndClassroomId(locationId, classroomId)
classroomLocationId = int(classroomLocationIdRecord[0][0])
# Overwrite an existing timetable entry or insert a brand new one if required
if storedStateIndex < listOfStoredRecords.__len__():
existingRecordId = int(listOfStoredRecords[storedStateIndex][0])
DatabaseController.updateExistingTimetableRecord(existingRecordId, weekdayId, startHour, startMin, lessonLength, endHour, schoolLessonId,
teacherId, locationId, classroomLocationId)
storedStateIndex += 1
else:
maxCountRecord = DatabaseController.countNumberOfTimetableRecords()
maxCount = int(maxCountRecord[0][0])
newRecordId = maxCount + 1
DatabaseController.insertNewTimetableRecord(newRecordId, weekdayId, startHour, startMin, lessonLength, endHour, schoolLessonId, schoolId, studentId,
teacherId, locationId, classroomLocationId)
currentStateIndex += 10
# If there are any remaining existing lessons after all updates are complete - remove them
while storedStateIndex < listOfStoredRecords.__len__():
existingRecordId = int(listOfStoredRecords[storedStateIndex][0])
DatabaseController.deleteTimetableRecord(existingRecordId)
storedStateIndex += 1
else:
# No lessons currently on the timetable - delete all of the records stored in the database
schoolId = session.get("loginId")
studentId = session.get("studentId")
listOfStoredRecords = DatabaseController.getStudentTimetable(schoolId, studentId)
for eachRecord in listOfStoredRecords:
existingRecordId = int(eachRecord[0])
DatabaseController.deleteTimetableRecord(existingRecordId)