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): | ... | ... |