Skip to content

Commit 346f661

Browse files
committed
Fix code conversion error and update language codes
1 parent 767adea commit 346f661

File tree

5 files changed

+19
-16
lines changed

5 files changed

+19
-16
lines changed

libs/geminiai.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,4 +249,5 @@ def convert_generated_code(self, code, code_language):
249249
else:
250250
logger.error("Error in code conversion: Please enter a valid code and language.")
251251
except Exception as exception:
252+
st.toast(f"Error in code conversion: {exception}", icon="❌")
252253
logger.error(f"Error in code conversion: {traceback.format_exc()}")

libs/general_utils.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import subprocess
77
import traceback
88
import streamlit as st
9-
from libs.lang_codes import LangCodes
9+
from libs.lang_codes import get_language_codes
1010
import shutil
1111
import threading
1212
import time
@@ -113,19 +113,20 @@ def generate_dynamic_html(self,language, code_prompt):
113113
<script src="https://www.jdoodle.com/assets/jdoodle-pym.min.js" type="text/javascript"></script>
114114
</body>
115115
</html>
116-
""".format(language=LangCodes()[language], script_code=code_prompt)
116+
""".format(language=get_language_codes()[language], script_code=code_prompt)
117117
return html_template
118118

119119

120120
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+
123124
compilers = {
124125
"python": ["python", "--version"],
125-
"javascript": ["node", "--version"],
126+
"nodejs": ["node", "--version"],
126127
"c": ["gcc", "--version"],
127-
"c++": ["g++", "--version"],
128-
"c#": ["csc", "--version"],
128+
"cpp": ["g++", "--version"],
129+
"csharp": ["csc", "--version"],
129130
"go": ["go", "--version"],
130131
"ruby": ["ruby", "--version"],
131132
"java": ["java", "--version"],
@@ -134,12 +135,12 @@ def check_compilers(self, language):
134135
"swift": ["swift", "--version"]
135136
}
136137

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="❌")
140141
return False
141142

142-
compiler = subprocess.run(compilers[language], capture_output=True, text=True)
143+
compiler = subprocess.run(compilers[language_code], capture_output=True, text=True)
143144
if compiler.returncode != 0:
144145
logger.error(f"{language.capitalize()} compiler not found.")
145146
st.toast(f"{language.capitalize()} compiler not found.", icon="❌")

libs/lang_codes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
def LangCodes():
1+
def get_language_codes():
22

33
LANGUAGE_CODES = {
44
'C': 'c',
@@ -11,7 +11,7 @@ def LangCodes():
1111
'Swift': 'swift',
1212
'JavaScript': 'nodejs',
1313
'Kotlin': 'kotlin',
14-
'Python': 'python3',
14+
'Python': 'python',
1515
'GO Lang': 'go',
1616
}
1717
return LANGUAGE_CODES

libs/palmai.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,4 +284,5 @@ def convert_generated_code(self, code, code_language):
284284
else:
285285
logger.error("Error in code conversion: Please enter a valid code and language.")
286286
except Exception as exception:
287+
st.toast(f"Error in code conversion: {exception}", icon="❌")
287288
logger.error(f"Error in code conversion: {traceback.format_exc()}")

script.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import streamlit as st
1919
from libs.vertexai_langchain import VertexAILangChain
2020
from libs.general_utils import GeneralUtils
21-
from libs.lang_codes import LangCodes
21+
from libs.lang_codes import get_language_codes
2222
from libs.openai_langchain import OpenAILangChain
2323
from libs.logger import logger
2424
from libs.utils import *
@@ -65,7 +65,7 @@ def main():
6565
st.selectbox("Select AI", ["Open AI", "Vertex AI", "Palm AI","Gemini AI"], key="ai_option")
6666

6767
# Dropdown for selecting code language
68-
st.selectbox("Select language", list(LangCodes().keys()), key="code_language")
68+
st.selectbox("Select language", list(get_language_codes().keys()), key="code_language")
6969

7070
# Radio buttons for selecting compiler mode
7171
st.radio("Compiler Mode", ("Online", "Offline"), key="compiler_mode")
@@ -432,7 +432,7 @@ def main():
432432
wrap = st.checkbox("Wrap", value=True)
433433
auto_update = st.checkbox("Auto Update", value=False)
434434
readonly = st.checkbox("Readonly", value=False)
435-
language = st.selectbox("Language", options=list(LangCodes().keys()), index=list(LangCodes().keys()).index("Python"))
435+
language = st.selectbox("Language", options=list(get_language_codes().keys()), index=list(get_language_codes().keys()).index("Python"))
436436

437437
# Display the st_ace code editor with the selected settings
438438
display_code_editor(font_size, tab_size, theme, keybinding, show_gutter, show_print_margin, wrap, auto_update, readonly, language)

0 commit comments

Comments
 (0)