@@ -45,8 +45,11 @@ def copy_to(src, dst, container):
45
45
def execute_code_in_container ():
46
46
copy_to ('./File.f90' , '/fortran/File.f90' ,container )
47
47
copy_to ('./program_input.txt' , '/fortran/program_input.txt' ,container )
48
- container .exec_run ('gfortran File.f90 -o executed_file.o' )
49
- a = container .exec_run ('sh -c "cat program_input.txt | ./executed_file.o"' )
48
+ executable = container .exec_run ('gfortran File.f90 -o executed_file.o' ,demux = True )
49
+ if (executable .exit_code == 0 ):
50
+ a = container .exec_run ('sh -c "cat program_input.txt | ./executed_file.o"' , demux = True )
51
+ else :
52
+ a = executable
50
53
return a
51
54
52
55
@@ -57,8 +60,13 @@ def run_code():
57
60
data = request .get_json ()
58
61
edit_file (data ["code" ],data ["programInput" ])
59
62
code_result = execute_code_in_container ()
60
- print (code_result .output .decode ())
61
- output = jsonify ({"executed" : code_result .output .decode ()})
63
+ if code_result .exit_code == 0 :
64
+ print (code_result .output [0 ].decode ())
65
+ output = jsonify ({"executed" : code_result .output [0 ].decode ()})
66
+ else :
67
+ print (code_result .output [1 ].decode ())
68
+ output = jsonify ({"executed" : code_result .output [1 ].decode ()})
69
+
62
70
return output , 202
63
71
64
72
if __name__ == '__main__' :
0 commit comments