6
6
import subprocess
7
7
import traceback
8
8
import streamlit as st
9
- from libs .lang_codes import LangCodes
9
+ from libs .lang_codes import get_language_codes
10
10
import shutil
11
11
import threading
12
12
import time
@@ -113,19 +113,20 @@ def generate_dynamic_html(self,language, code_prompt):
113
113
<script src="https://www.jdoodle.com/assets/jdoodle-pym.min.js" type="text/javascript"></script>
114
114
</body>
115
115
</html>
116
- """ .format (language = LangCodes ()[language ], script_code = code_prompt )
116
+ """ .format (language = get_language_codes ()[language ], script_code = code_prompt )
117
117
return html_template
118
118
119
119
120
120
def check_compilers (self , language ):
121
- language = language .lower ().strip ()
122
-
121
+ language_code = get_language_codes ()[language ]
122
+ logger .info (f"Checking compilers for language: { language } with lang_code: { language_code } " )
123
+
123
124
compilers = {
124
125
"python" : ["python" , "--version" ],
125
- "javascript " : ["node" , "--version" ],
126
+ "nodejs " : ["node" , "--version" ],
126
127
"c" : ["gcc" , "--version" ],
127
- "c++ " : ["g++" , "--version" ],
128
- "c# " : ["csc" , "--version" ],
128
+ "cpp " : ["g++" , "--version" ],
129
+ "csharp " : ["csc" , "--version" ],
129
130
"go" : ["go" , "--version" ],
130
131
"ruby" : ["ruby" , "--version" ],
131
132
"java" : ["java" , "--version" ],
@@ -134,12 +135,12 @@ def check_compilers(self, language):
134
135
"swift" : ["swift" , "--version" ]
135
136
}
136
137
137
- if language not in compilers :
138
- logger .error (f"Invalid language selected. { language } not found in compilers list." )
139
- st .toast (f"Invalid language selected. { language } not found in compilers list." , icon = "❌" )
138
+ if language_code not in compilers :
139
+ logger .error (f"Invalid language selected ' { language_code } ' not found in compilers list." )
140
+ st .toast (f"Invalid language selected ' { language_code } ' not found in compilers list." , icon = "❌" )
140
141
return False
141
142
142
- compiler = subprocess .run (compilers [language ], capture_output = True , text = True )
143
+ compiler = subprocess .run (compilers [language_code ], capture_output = True , text = True )
143
144
if compiler .returncode != 0 :
144
145
logger .error (f"{ language .capitalize ()} compiler not found." )
145
146
st .toast (f"{ language .capitalize ()} compiler not found." , icon = "❌" )
0 commit comments