Exemplo n.º 1
0
 def value(self, mrk):
     if not (CourseDB.get_mark(self.__course_id, self.__task_number,
                               self.__user_id)["date"]):
         CourseDB.set_mark(self.__course_id, self.__task_number,
                           self.__user_id, 'date', date.today())
     CourseDB.set_mark(self.__course_id, self.__task_number, self.__user_id,
                       'mark', mrk)
Exemplo n.º 2
0
def set_marks(course_id, excel_file):
    book = None
    try:
        book = openpyxl.load_workbook(excel_file)
    except:
        raise ExtensionException(excel_file)
    sheet = book.active

    p_file = get_marks(course_id)
    p_book = openpyxl.load_workbook(p_file)
    h_p_sheet = p_book['Hidden']
    p_sheet = p_book.active

    course = CourseDB.get_course(course_id)
    t_count = len(course['task_numbers'])
    u_count = len(course['participants'])

    for i in range(6, 6 + u_count):
        for j in range(3, 3 + t_count):
            int_cell = None
            try:
                int_cell = int(sheet.cell(i, j).value)
            except:
                p_book.close()
                book.close()
                raise CellValueException(
                    i, j,
                    '{0} must be an integer.'.format(sheet.cell(i, j).value))

            highest_mark = int(p_sheet.cell(4, j))
            if 0 <= int_cell <= highest_mark:
                u_id = h_p_sheet.cell(i, 1).value
                t_id = h_p_sheet.cell(3, j).value
                CourseDB.set_mark(course_id, t_id, u_id, 'value',
                                  str(int_cell))
            else:
                p_book.close()
                book.close()
                raise CellValueException(
                    i, j,
                    '{0} must be greater than 0 and less than {1}.'.format(
                        int_cell, highest_mark))
    p_book.close()
    book.close()
Exemplo n.º 3
0
 def date(self, date):
     CourseDB.set_mark(self.__course_id, self.__task_number, self.__user_id,
                       'date', date)