Commit 9a7200e2 authored by Kateřina Sloupová's avatar Kateřina Sloupová
Browse files

add support for more detailed feedback on web

parent cb1746ce
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -3,7 +3,7 @@ from flask_wtf import FlaskForm
from wtforms import RadioField
from wtforms import RadioField
import sys
import sys
sys.path.append('~/eval')
sys.path.append('~/eval')
from evalweb.web_checker import WebChecker
from evalweb.web_checker import WebChecker, Language
from evalweb.examples import examples, convert_examples
from evalweb.examples import examples, convert_examples




+13 −0
Original line number Original line Diff line number Diff line
{% extends 'base.html' %}

{% block header %}
  <h1>{% block title %}
      Výsledek
  {% endblock %}</h1>
{% endblock %}

{% block content %}
  <br>Vstupní formalismus nebyl správně zadán, nastala chyba při parsování.<br><br>
  {{ error }}

{% endblock %}
 No newline at end of file

evalweb/templates/result.html

deleted100644 → 0
+0 −63
Original line number Original line Diff line number Diff line
{% extends 'base.html' %}

{% block header %}
  <h1>{% block title %}
      {% if compare %}Výsledek porovnání
      {% else %}Výsledek převodu
      {% endif %}
  {% endblock %}</h1>
{% endblock %}

{% block content %}
  <br>{% if compare %}
    <label for="teacher_string">Zadání</label><br>
    <textarea style="width:400px;" name="teacher_string" id="teacher_string">{{ teacher_string }}</textarea>
    {{ teacher_type }}
  {% endif %}

  <br><label for="student_string">Můj vstup</label><br>
    <textarea style="width:400px;" name="student_string" id="student_string">{{ student_string }}</textarea>
    {{ student_type }}

    {% if not compare %}
      , převod na
      {{ task }}
    {% endif %}

  <br><br>
    {% if compare %}

      {% if ok %}
        Správné řešení, jazyky popisované oběma formalismy jsou ekvivalentní.
      {% else %}
        Špatné řešení. {{ task_solved }}<br>
        {% if extra_word_ce or missing_word_ce %}
        Jazyky popisované oběma formalismy nejsou ekvivalentní.<br>

        {% if extra_word_ce %}
          Příklad slova, které je ve studentově řešení a není v zadaném jazyce: {{ extra_word_ce }}
        {% else %}
          Studentovo řešení je podmnožinou zadaného jazyka.
        {% endif %}<br>

        {% if missing_word_ce %}
          Příklad slova, které chybí ve studentově řešení a je v zadaném jazyce: {{ missing_word_ce }}
        {% else %}
          Studentovo řešení je nadmnožinou zadaného jazyka.
        {% endif %}<br>

        {% if inf %}
          Rozdíl porovnávaných jazyků je nekonečný.
        {% else %}
          Rozdíl porovnávaných jazyků je konečný.
        {% endif %}

      {% endif %}
      {% endif %}

    {% else %}
      <label for="output">Výsledek</label><br>
      <textarea style="width:400px;" name="output" id="output">{{ output }}</textarea>
    {% endif %}

{% endblock %}
 No newline at end of file
+78 −0
Original line number Original line Diff line number Diff line
{% extends 'base.html' %}

{% block header %}
  <h1>{% block title %}
      Výsledek porovnání
  {% endblock %}</h1>
{% endblock %}

{% block content %}
  <br>
  <div style="text-align:center"><h2>Celkový výsledek:
      {% if ok %} správné řešení.
      {% else %} nesprávné řešení.
      {% endif %} </h2><br>

      {{ task_solved }}<br>
      {% if ok %} Jazyky popisované oběma formalismy jsou ekvivalentní.
      {% else %} {% if extra_word_ce or missing_word_ce %}
          Jazyky popisované oběma formalismy nejsou ekvivalentní.
      {% endif %}
      {% endif %}</div><br>

      <div>
          <div style="float:left;"><label for="teacher_string"><h3 style="text-align:center">
              Jazyk zadání</h3></label>
      <div style="width:400px;" name="teacher_string" id="teacher_string">
          <b>Charakteristika:</b> {{ teacher.inf }}<br><br>
          <b>Příklad slova z jazyka:</b> {{ teacher.example }}<br><br>
          <b>Původní popis:</b> <br>
          {{ teacher.task }}: {{ teacher.string }}<br><br>
          <b>Popis pomocí minimálního DFA:</b> <br>
          {{ teacher.minimal }}<br>
      </div><br>
      </div>

          <div style="float:right;"><label for="student_string"><h3 style="text-align:center">
              Jazyk mého řešení</h3></label>
      <div style="width:400px;" name="student_string" id="student_string">
          <b>Charakteristika:</b> {{ student.inf }}<br><br>
          <b>Příklad slova z jazyka:</b> {{ student.example }}<br><br>
          <b>Původní popis:</b> <br>
          {{ student.task }}: {{ student.string }}<br><br>
          <b>Popis pomocí minimálního DFA:</b> <br>
          {{ student.minimal }}<br>
      </div><br>
      </div>
      </div>

  <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><hr>
  <p>
  <h3>Porovnání jazyků</h3>
      {% if not ok and (extra_word_ce or missing_word_ce) %}
        {% if extra_word_ce %}
          Příklad slova, které je ve studentově řešení a není v zadaném jazyce: {{ extra_word_ce }}
        {% else %}
          Studentovo řešení je podmnožinou zadaného jazyka.
        {% endif %}<br>

        {% if missing_word_ce %}
          Příklad slova, které chybí ve studentově řešení a je v zadaném jazyce: {{ missing_word_ce }}
        {% else %}
          Studentovo řešení je nadmnožinou zadaného jazyka.
        {% endif %}<br>

        {% if inf %}Rozdíl porovnávaných jazyků je nekonečný.
        {% else %}Rozdíl porovnávaných jazyků je konečný.
        {% endif %}
      {% else %}
        {% if ok %}
        Jazyky jsou ekvivalentní.
        {% endif %}
      {% endif %}
  </p>

<br><br>
<h3>Vygenerovaný řetězec pro odpovědník</h3>
{{ is_task }}
{% endblock %}
 No newline at end of file
+23 −0
Original line number Original line Diff line number Diff line
{% extends 'base.html' %}

{% block header %}
  <h1>{% block title %}
      Výsledek převodu
  {% endblock %}</h1>
{% endblock %}

{% block content %}

  <br><label for="student_string">Můj vstup</label><br>
    <textarea style="width:400px;" name="student_string" id="student_string">{{ student_string }}</textarea>
    {{ student_type }}, převod na {{ task }}

  <br><br>
      <label for="output">Výsledek</label><br>
      <textarea style="width:400px;" name="output" id="output">{{ output }}</textarea>


<br><br>
<h3>Vygenerovaný řetězec pro odpovědník</h3>
{{ is_task }}
{% endblock %}
 No newline at end of file
Loading