Commit 7dac4894bf20feaa72c081183333fcb564ff4e5a
1 parent
1b9491c2
Exists in
master
and in
1 other branch
fix mypy and pyright warnings
review explicitly indicates that a test was not corrected instead of grade=NaN
Showing
11 changed files
with
23 additions
and
19 deletions
Show diff stats
demo/demo.yaml
@@ -32,7 +32,7 @@ autosubmit: false | @@ -32,7 +32,7 @@ autosubmit: false | ||
32 | # shown to the student. If false, the test is saved but not corrected. | 32 | # shown to the student. If false, the test is saved but not corrected. |
33 | # No grade is shown to the student. | 33 | # No grade is shown to the student. |
34 | # (default: true) | 34 | # (default: true) |
35 | -autocorrect: false | 35 | +autocorrect: true |
36 | 36 | ||
37 | # Show points for each question (min and max). | 37 | # Show points for each question (min and max). |
38 | # (default: true) | 38 | # (default: true) |
demo/questions/questions-tutorial.yaml
@@ -500,6 +500,7 @@ | @@ -500,6 +500,7 @@ | ||
500 | return 0; // comentario | 500 | return 0; // comentario |
501 | } | 501 | } |
502 | ``` | 502 | ``` |
503 | + | ||
503 | ``` | 504 | ``` |
504 | 505 | ||
505 | # --------------------------------------------------------------------------- | 506 | # --------------------------------------------------------------------------- |
perguntations/__init__.py
@@ -33,7 +33,7 @@ proof of submission and for review. | @@ -33,7 +33,7 @@ proof of submission and for review. | ||
33 | 33 | ||
34 | APP_NAME = 'perguntations' | 34 | APP_NAME = 'perguntations' |
35 | APP_VERSION = '2022.01.dev1' | 35 | APP_VERSION = '2022.01.dev1' |
36 | -APP_DESCRIPTION = __doc__ | 36 | +APP_DESCRIPTION = str(__doc__) |
37 | 37 | ||
38 | __author__ = 'Miguel Barão' | 38 | __author__ = 'Miguel Barão' |
39 | __copyright__ = 'Copyright 2022, Miguel Barão' | 39 | __copyright__ = 'Copyright 2022, Miguel Barão' |
perguntations/app.py
@@ -20,9 +20,9 @@ from sqlalchemy.orm import Session | @@ -20,9 +20,9 @@ from sqlalchemy.orm import Session | ||
20 | import yaml | 20 | import yaml |
21 | 21 | ||
22 | # this project | 22 | # this project |
23 | -from perguntations.models import Student, Test, Question | ||
24 | -from perguntations.tools import load_yaml | ||
25 | -from perguntations.testfactory import TestFactory, TestFactoryException | 23 | +from .models import Student, Test, Question |
24 | +from .tools import load_yaml | ||
25 | +from .testfactory import TestFactory, TestFactoryException | ||
26 | 26 | ||
27 | # setup logger for this module | 27 | # setup logger for this module |
28 | logger = logging.getLogger(__name__) | 28 | logger = logging.getLogger(__name__) |
perguntations/initdb.py
@@ -18,7 +18,7 @@ from sqlalchemy.orm import Session | @@ -18,7 +18,7 @@ from sqlalchemy.orm import Session | ||
18 | from sqlalchemy.exc import IntegrityError | 18 | from sqlalchemy.exc import IntegrityError |
19 | 19 | ||
20 | # this project | 20 | # this project |
21 | -from perguntations.models import Base, Student | 21 | +from .models import Base, Student |
22 | 22 | ||
23 | 23 | ||
24 | # ============================================================================ | 24 | # ============================================================================ |
perguntations/main.py
@@ -14,10 +14,10 @@ import ssl | @@ -14,10 +14,10 @@ import ssl | ||
14 | import sys | 14 | import sys |
15 | 15 | ||
16 | # this project | 16 | # this project |
17 | -from perguntations.app import App, AppException | ||
18 | -from perguntations.serve import run_webserver | ||
19 | -from perguntations.tools import load_yaml | ||
20 | -from perguntations import APP_NAME, APP_VERSION | 17 | +from .app import App, AppException |
18 | +from .serve import run_webserver | ||
19 | +from .tools import load_yaml | ||
20 | +from . import APP_NAME, APP_VERSION | ||
21 | 21 | ||
22 | # ---------------------------------------------------------------------------- | 22 | # ---------------------------------------------------------------------------- |
23 | def parse_cmdline_arguments() -> argparse.Namespace: | 23 | def parse_cmdline_arguments() -> argparse.Namespace: |
perguntations/questions.py
@@ -15,7 +15,7 @@ from typing import Any, Dict, NewType | @@ -15,7 +15,7 @@ from typing import Any, Dict, NewType | ||
15 | import uuid | 15 | import uuid |
16 | 16 | ||
17 | # this project | 17 | # this project |
18 | -from perguntations.tools import run_script, run_script_async | 18 | +from .tools import run_script, run_script_async |
19 | 19 | ||
20 | # setup logger for this module | 20 | # setup logger for this module |
21 | logger = logging.getLogger(__name__) | 21 | logger = logging.getLogger(__name__) |
perguntations/serve.py
@@ -26,7 +26,7 @@ import tornado.web | @@ -26,7 +26,7 @@ import tornado.web | ||
26 | import tornado.httpserver | 26 | import tornado.httpserver |
27 | 27 | ||
28 | # this project | 28 | # this project |
29 | -from perguntations.parser_markdown import md_to_html | 29 | +from .parser_markdown import md_to_html |
30 | 30 | ||
31 | 31 | ||
32 | # setup logger for this module | 32 | # setup logger for this module |
perguntations/templates/review.html
@@ -97,9 +97,12 @@ | @@ -97,9 +97,12 @@ | ||
97 | <div class="row"> | 97 | <div class="row"> |
98 | <label for="nota" class="col-sm-2">Nota:</label> | 98 | <label for="nota" class="col-sm-2">Nota:</label> |
99 | <div class="col-sm-10" id="nota"> | 99 | <div class="col-sm-10" id="nota"> |
100 | - <span class="badge badge-primary">{{ round(t['grade'], 2) }}</span> valores | ||
101 | - {% if t['state'] == 'QUIT' %} | ||
102 | - (DESISTÊNCIA) | 100 | + {% if t['state'] == 'CORRECTED' %} |
101 | + <span class="badge badge-primary">{{ round(t['grade'], 2) }}</span> valores | ||
102 | + {% elif t['state'] == 'SUBMITTED' %} | ||
103 | + (não corrigido) | ||
104 | + {% elif t['state'] == 'QUIT' %} | ||
105 | + (DESISTIU) | ||
103 | {% end %} | 106 | {% end %} |
104 | </div> | 107 | </div> |
105 | </div> | 108 | </div> |
perguntations/testfactory.py
@@ -11,9 +11,9 @@ import logging | @@ -11,9 +11,9 @@ import logging | ||
11 | import schema | 11 | import schema |
12 | 12 | ||
13 | # this project | 13 | # this project |
14 | -from perguntations.questions import QFactory, QuestionException, QDict | ||
15 | -from perguntations.test import Test | ||
16 | -from perguntations.tools import load_yaml | 14 | +from .questions import QFactory, QuestionException, QDict |
15 | +from .test import Test | ||
16 | +from .tools import load_yaml | ||
17 | 17 | ||
18 | # Logger configuration | 18 | # Logger configuration |
19 | logger = logging.getLogger(__name__) | 19 | logger = logging.getLogger(__name__) |
setup.py
@@ -28,8 +28,8 @@ setup( | @@ -28,8 +28,8 @@ setup( | ||
28 | 'mistune<2.0', | 28 | 'mistune<2.0', |
29 | 'pyyaml>=5.1', | 29 | 'pyyaml>=5.1', |
30 | 'pygments', | 30 | 'pygments', |
31 | + 'schema>=0.7', | ||
31 | 'sqlalchemy>=1.4', | 32 | 'sqlalchemy>=1.4', |
32 | - # 'sqlalchemy[asyncio,mypy]>=1.4', | ||
33 | 'bcrypt>=3.1' | 33 | 'bcrypt>=3.1' |
34 | ], | 34 | ], |
35 | entry_points={ | 35 | entry_points={ |