Ejemplo n.º 1
0
    def test_assess_create(self):
        """ Create an empty assessment"""

        course_id = Courses.create("TESTCOURSE5", "unit tests for assessment", 1, 1)
        Courses.create_config(course_id, "casual", 1)
        Courses.set_active(course_id, True)
        Courses.set_prac_vis(course_id, "none")
        Courses.set_assess_vis(course_id, "none")

        title = "Test Assessment 1"
        atype = 2  # assignment
        duration = 60
        code = "123456"
        instant = 1
        instructions = "These are the instructions"
        astart = datetime.datetime.utcnow()
        aend = astart + datetime.timedelta(hours=2)

        exam_id = Exams.create(course_id, 1, title, atype, duration, astart,
                               aend, instructions, code=code, instant=instant)
        self.assertGreater(exam_id, 0)

        topic1_id = Topics.create(course_id, "TESTASSESS1", 1, 1)
        self.assertGreater(topic1_id, 0)

        data = open(self.test_question_fname).read()
        numread = External.import_qts_from_zip(data, topic1_id)
        self.assertEqual(numread, 3)
Ejemplo n.º 2
0
def cadmin_course_questions_import(course_id, topic_id):
    """ Take an OAQ file and import any questions in it into topic
    """

    if 'importfile' in request.files:
        data = request.files['importfile'].read()
    else:
        flash("No file uploaded?")
        return redirect(url_for("cadmin_edit_topic",
                                course_id=course_id,
                                topic_id=topic_id))

    if len(data) > 52000000:  # approx 50Mb
        flash("Upload is too large, 50MB Maximum.")
        return redirect(url_for("cadmin_edit_topic",
                                course_id=course_id,
                                topic_id=topic_id))

    num = External.import_qts_from_zip(data)
    if num is False:
        flash("Invalid OASISQE file? No data recognized.")
        return redirect(url_for("cadmin_edit_topic",
                                course_id=course_id,
                                topic_id=topic_id))
    if num is 0:
        flash("Empty OASISQE file? No questions found.")
        return redirect(url_for("cadmin_edit_topic",
                                course_id=course_id,
                                topic_id=topic_id))

    flash("%s questions imported!" % num)
    return redirect(url_for("cadmin_edit_topic",
                            course_id=course_id,
                            topic_id=topic_id))
Ejemplo n.º 3
0
    def test_import_questions(self):
        """ Import the questions made in export_questions"""
        course_id = Courses.create("TEST103", "Test import questions", 1, 1)
        self.assertGreater(course_id, 0)
        topic1_id = Topics.create(course_id, "TESTQUESTIONS1", 1, 2)
        self.assertGreater(topic1_id, 0)

        data = open(self.test_question_fname).read()
        numread = External.import_qts_from_zip(data, topic1_id)
        self.assertEqual(numread, 3)
Ejemplo n.º 4
0
def _import_questions_from_file(data, topic_id):
    """ Take a data string with a question export and import questions from it into the given topic.
        :returns [string,]: list of (string) messages
    """
    mesg = []
    if len(data) > 52000000:  # approx 50Mb
        mesg.append("Upload is too large, 50MB Maximum.")

    num = External.import_qts_from_zip(data, topic_id=topic_id)
    if num is False:
        mesg.append("Invalid OASISQE file? No data recognized.")
    if num is 0:
        mesg.append("Empty OASISQE file? No questions found.")

    mesg.append("%s questions imported!" % num)
    return mesg
Ejemplo n.º 5
0
def cadmin_course_questions_import(course_id, topic_id):
    """ Take an OAQ file and import any questions in it into topic
    """

    if 'importfile' in request.files:
        data = request.files['importfile'].read()
    else:
        flash("No file uploaded?")
        return redirect(
            url_for("cadmin_edit_topic",
                    course_id=course_id,
                    topic_id=topic_id))

    if len(data) > 52000000:  # approx 50Mb
        flash("Upload is too large, 50MB Maximum.")
        return redirect(
            url_for("cadmin_edit_topic",
                    course_id=course_id,
                    topic_id=topic_id))

    num = External.import_qts_from_zip(data, topicid=topic_id)
    if num is False:
        flash("Invalid OASISQE file? No data recognized.")
        return redirect(
            url_for("cadmin_edit_topic",
                    course_id=course_id,
                    topic_id=topic_id))
    if num is 0:
        flash("Empty OASISQE file? No questions found.")
        return redirect(
            url_for("cadmin_edit_topic",
                    course_id=course_id,
                    topic_id=topic_id))

    flash("%s questions imported!" % num)
    return redirect(
        url_for("cadmin_edit_topic", course_id=course_id, topic_id=topic_id))