@@ -247,6 +247,7 @@ def write_report(self, status, report, exec_mode):
247247
248248 has_convention_error = False
249249
250+ # show convention errors, if any
250251 for error in report .convention_errors :
251252 if error .severity == "error" and not has_convention_error :
252253 self .write (tr ("-----\n Python101 convention errors:\n -----\n " ), tags = 'info' )
@@ -259,45 +260,35 @@ def write_report(self, status, report, exec_mode):
259260 self .write (str (error ), tags = (error .severity , hyper , hyper_spec ))
260261 self .write ("\n " )
261262
262- if not status :
263- has_compilation_error = False
264- for error in report .compilation_errors :
265- if error .severity == "error" and not has_compilation_error :
266- self .write (tr ("\n -----\n Compilation errors (Python interpreter):\n -----\n " ), tags = 'info' )
267- has_compilation_error = True
268- hyper , hyper_spec = self .hyperlinks .add (ErrorCallback (self , error ))
269- self .write ("\n " )
270- self .write (str (error ), tags = (error .severity , hyper , hyper_spec ))
271- self .write ("\n " )
272-
273-
274- has_execution_error = False
275- for error in report .execution_errors :
276- if error .severity == "error" and not has_execution_error :
277- self .write (tr ("\n -----\n Execution errors (Python interpreter):\n -----\n " ), tags = 'info' )
278- has_execution_error = True
279-
280- hyper , hyper_spec = self .hyperlinks .add (ErrorCallback (self , error ))
281- self .write ("\n " )
282- self .write (str (error ), tags = (error .severity , hyper , hyper_spec ))
283- self .write ("\n " )
284-
285- else :
286- has_execution_error = False
287- for error in report .execution_errors :
288- if error .severity == "error" and not has_execution_error :
289- self .write (tr ("\n -----\n Execution errors (Python interpreter):\n -----\n " ), tags = 'info' )
290- has_execution_error = True
291-
292- hyper , hyper_spec = self .hyperlinks .add (ErrorCallback (self , error ))
293- self .write ("\n " )
294- self .write (str (error ), tags = (error .severity , hyper , hyper_spec ))
295- self .write ("\n " )
263+ # show compilation errors, if any
264+ has_compilation_error = False
265+ for error in report .compilation_errors :
266+ if error .severity == "error" and not has_compilation_error :
267+ self .write (tr ("\n -----\n Compilation errors (Python interpreter):\n -----\n " ), tags = 'info' )
268+ has_compilation_error = True
269+ hyper , hyper_spec = self .hyperlinks .add (ErrorCallback (self , error ))
270+ self .write ("\n " )
271+ self .write (str (error ), tags = (error .severity , hyper , hyper_spec ))
272+ self .write ("\n " )
296273
274+ # write the stdout that has been generated
275+ self .write (str (report .output ), tags = ('stdout' ))
276+
277+ # show execution errors, if any
278+ has_execution_error = False
279+ for error in report .execution_errors :
280+ if error .severity == "error" and not has_execution_error :
281+ self .write (tr ("\n -----\n Execution errors (Python interpreter):\n -----\n " ), tags = 'info' )
282+ has_execution_error = True
283+
284+ hyper , hyper_spec = self .hyperlinks .add (ErrorCallback (self , error ))
285+ self .write ("\n " )
286+ self .write (str (error ), tags = (error .severity , hyper , hyper_spec ))
287+ self .write ("\n " )
297288
298- self . write ( str ( report . output ), tags = ( 'stdout' ))
299- if report .result is not None :
300- self .write (repr (report .result ), tags = ('normal' ))
289+ # show evaluation result
290+ if status and report .result is not None :
291+ self .write (repr (report .result ), tags = ('normal' ))
301292
302293 if exec_mode == 'exec' and status and self .mode == tr ('student' ) and report .nb_defined_funs > 0 :
303294 if report .nb_passed_tests > 1 :
0 commit comments