Ejemplo n.º 1
0
def _grade(*, problem, flag, team):
    # logger.debug("grading {} for {} with flag {!r}".format(problem, team, flag))
    grader_path = join(settings.PROBLEMS_DIR, problem.grader)  # XXX(Yatharth): Handle FileNotFound
    grader = importlib.machinery.SourceFileLoader('grader', grader_path).load_module()

    # XXX(Yatharth): Handle no such function or signature or anything, logging appropriate error messages
    correct, message = grader.grade(hashers.dyanamic_problem_key(team), flag)
    # logger.info('_grade: Flag by team ' + team.id + ' for problem ' + problem.id + ' is ' + correct + '.')
    return correct, message
Ejemplo n.º 2
0
def _grade(*, problem, flag, team):
    # logger.debug("grading {} for {} with flag {!r}".format(problem, team, flag))
    grader_path = join(settings.PROBLEMS_DIR, problem.grader)  # XXX(Yatharth): Handle FileNotFound
    grader = importlib.machinery.SourceFileLoader('grader', grader_path).load_module()

    # XXX(Yatharth): Handle no such function or signature or anything, logging appropriate error messages
    correct, message = grader.grade(hashers.dyanamic_problem_key(team), flag)
    # logger.info('_grade: Flag by team ' + team.id + ' for problem ' + problem.id + ' is ' + correct + '.')
    return correct, message
Ejemplo n.º 3
0
def _get_desc_and_hint(problem, team):
    """Return static description and hint or generate them"""

    if not problem.generator:
        return problem.description_html, problem.hint_html

    generator_path = join(settings.PROBLEMS_DIR, problem.window.codename, problem.generator)
    generator = importlib.machinery.SourceFileLoader('gen', generator_path).load_module()
    desc, hint = generator.generate(hashers.dyanamic_problem_key(team))

    return problem.process_html(desc), problem.process_html(hint)
Ejemplo n.º 4
0
def _generate_desc_and_hint(problem, team):
    """Generate description and hint for dynnamic problems"""

    assert problem.generator

    generator_path = join(settings.PROBLEMS_DIR, problem.window.codename, problem.generator)
    # TODO(Yatharth): Use recommended way to import from path for Python 3.5
    generator = importlib.machinery.SourceFileLoader('gen', generator_path).load_module()
    desc_raw, hint_raw = generator.generate(hashers.dyanamic_problem_key(team))
    desc, hint = problem.process_html(desc_raw), problem.process_html(hint_raw)

    return desc, hint
Ejemplo n.º 5
0
def _generate_desc_and_hint(problem, team):
    """Generate description and hint for dynnamic problems"""

    assert problem.generator

    generator_path = join(settings.PROBLEMS_DIR, problem.window.codename,
                          problem.generator)
    # TODO(Yatharth): Use recommended way to import from path for Python 3.5
    generator = importlib.machinery.SourceFileLoader(
        'gen', generator_path).load_module()
    desc_raw, hint_raw = generator.generate(hashers.dyanamic_problem_key(team))
    desc, hint = problem.process_html(desc_raw), problem.process_html(hint_raw)

    return desc, hint