Show More
@@ -220,6 +220,8 b' except Exception:' | |||||
220 | # for tokenizing blocks |
|
220 | # for tokenizing blocks | |
221 | COMMENT, INPUT, OUTPUT = range(3) |
|
221 | COMMENT, INPUT, OUTPUT = range(3) | |
222 |
|
222 | |||
|
223 | PSEUDO_DECORATORS = ["suppress", "verbatim", "savefig", "doctest"] | |||
|
224 | ||||
223 | #----------------------------------------------------------------------------- |
|
225 | #----------------------------------------------------------------------------- | |
224 | # Functions and class declarations |
|
226 | # Functions and class declarations | |
225 | #----------------------------------------------------------------------------- |
|
227 | #----------------------------------------------------------------------------- | |
@@ -263,11 +265,17 b' def block_parser(part, rgxin, rgxout, fmtin, fmtout):' | |||||
263 | block.append((COMMENT, line)) |
|
265 | block.append((COMMENT, line)) | |
264 | continue |
|
266 | continue | |
265 |
|
267 | |||
266 | if line_stripped.startswith('@'): |
|
268 | if any( | |
267 | # Here is where we assume there is, at most, one decorator. |
|
269 | line_stripped.startswith("@" + pseudo_decorator) | |
268 | # Might need to rethink this. |
|
270 | for pseudo_decorator in PSEUDO_DECORATORS | |
269 | decorator = line_stripped |
|
271 | ): | |
270 |
|
|
272 | if decorator: | |
|
273 | raise RuntimeError( | |||
|
274 | "Applying multiple pseudo-decorators on one line is not supported" | |||
|
275 | ) | |||
|
276 | else: | |||
|
277 | decorator = line_stripped | |||
|
278 | continue | |||
271 |
|
279 | |||
272 | # does this look like an input line? |
|
280 | # does this look like an input line? | |
273 | matchin = rgxin.match(line) |
|
281 | matchin = rgxin.match(line) |
General Comments 0
You need to be logged in to leave comments.
Login now