Commit 95b1bd953635b9d90a34e4e82f4a2cda7fe3ad8d
1 parent
524327c3
Exists in
master
and in
1 other branch
- more raise from patterns
- remove __init__() from Test class as its useless
Showing
3 changed files
with
14 additions
and
15 deletions
Show diff stats
perguntations/app.py
| ... | ... | @@ -182,12 +182,11 @@ class App(): |
| 182 | 182 | logger.info('Test factory ready. No errors found.') |
| 183 | 183 | |
| 184 | 184 | # ------------------------------------------------------------------------ |
| 185 | - def _pregenerate_tests(self, n): | |
| 186 | - for _ in range(n): | |
| 185 | + def _pregenerate_tests(self, num): | |
| 186 | + for _ in range(num): | |
| 187 | 187 | event_loop = asyncio.get_event_loop() |
| 188 | 188 | test = event_loop.run_until_complete(self.testfactory.generate()) |
| 189 | 189 | self.pregenerated_tests.append(test) |
| 190 | - print(test) | |
| 191 | 190 | |
| 192 | 191 | # ------------------------------------------------------------------------ |
| 193 | 192 | async def generate_test(self, uid): | ... | ... |
perguntations/questions.py
| ... | ... | @@ -110,10 +110,10 @@ class QuestionRadio(Question): |
| 110 | 110 | # make sure is a list of floats |
| 111 | 111 | try: |
| 112 | 112 | self['correct'] = [float(x) for x in self['correct']] |
| 113 | - except (ValueError, TypeError): | |
| 113 | + except (ValueError, TypeError) as exc: | |
| 114 | 114 | msg = (f'Correct list must contain numbers [0.0, 1.0] or ' |
| 115 | 115 | f'booleans in "{self["ref"]}"') |
| 116 | - raise QuestionException(msg) | |
| 116 | + raise QuestionException(msg) from exc | |
| 117 | 117 | |
| 118 | 118 | # check grade boundaries |
| 119 | 119 | if self['discount'] and not all(0.0 <= x <= 1.0 |
| ... | ... | @@ -217,10 +217,10 @@ class QuestionCheckbox(Question): |
| 217 | 217 | # make sure is a list of floats |
| 218 | 218 | try: |
| 219 | 219 | self['correct'] = [float(x) for x in self['correct']] |
| 220 | - except (ValueError, TypeError): | |
| 220 | + except (ValueError, TypeError) as exc: | |
| 221 | 221 | msg = (f'Correct list must contain numbers or ' |
| 222 | 222 | f'booleans in "{self["ref"]}"') |
| 223 | - raise QuestionException(msg) | |
| 223 | + raise QuestionException(msg) from exc | |
| 224 | 224 | |
| 225 | 225 | # check grade boundaries |
| 226 | 226 | if self['discount'] and not all(0.0 <= x <= 1.0 |
| ... | ... | @@ -379,9 +379,9 @@ class QuestionTextRegex(Question): |
| 379 | 379 | # converts patterns to compiled versions |
| 380 | 380 | try: |
| 381 | 381 | self['correct'] = [re.compile(a) for a in self['correct']] |
| 382 | - except Exception: | |
| 382 | + except Exception as exc: | |
| 383 | 383 | msg = f'Failed to compile regex in "{self["ref"]}"' |
| 384 | - raise QuestionException(msg) | |
| 384 | + raise QuestionException(msg) from exc | |
| 385 | 385 | |
| 386 | 386 | # ------------------------------------------------------------------------ |
| 387 | 387 | def correct(self) -> None: |
| ... | ... | @@ -430,10 +430,10 @@ class QuestionNumericInterval(Question): |
| 430 | 430 | |
| 431 | 431 | try: |
| 432 | 432 | self['correct'] = [float(n) for n in self['correct']] |
| 433 | - except Exception: | |
| 433 | + except Exception as exc: | |
| 434 | 434 | msg = (f'Numeric interval must be a list with two numbers, in ' |
| 435 | 435 | f'{self["ref"]}') |
| 436 | - raise QuestionException(msg) | |
| 436 | + raise QuestionException(msg) from exc | |
| 437 | 437 | |
| 438 | 438 | # invalid |
| 439 | 439 | else: | ... | ... |
perguntations/test.py
| ... | ... | @@ -111,9 +111,9 @@ class TestFactory(dict): |
| 111 | 111 | # check if all the questions can be correctly generated |
| 112 | 112 | try: |
| 113 | 113 | self.question_factory[question['ref']].generate() |
| 114 | - except Exception: | |
| 114 | + except Exception as exc: | |
| 115 | 115 | msg = f'Failed to generate "{question["ref"]}"' |
| 116 | - raise TestFactoryException(msg) | |
| 116 | + raise TestFactoryException(msg) from exc | |
| 117 | 117 | else: |
| 118 | 118 | logger.info('%4d. "%s" Ok.', counter, question["ref"]) |
| 119 | 119 | counter += 1 |
| ... | ... | @@ -299,8 +299,8 @@ class Test(dict): |
| 299 | 299 | ''' |
| 300 | 300 | |
| 301 | 301 | # ------------------------------------------------------------------------ |
| 302 | - def __init__(self, d): | |
| 303 | - super().__init__(d) | |
| 302 | + # def __init__(self, d): | |
| 303 | + # super().__init__(d) | |
| 304 | 304 | |
| 305 | 305 | # ------------------------------------------------------------------------ |
| 306 | 306 | def start(self, student): | ... | ... |