fix: Handle error cases and exit with non-zero status

- Added error handling to main functions in multiple modules
- Ensured sys.exit(1) is called when responses are not successful
- Improved robustness by checking response validity before proceeding
This commit is contained in:
bobo 2024-06-18 18:21:25 +08:00
parent df15fba131
commit 780fe10a98
9 changed files with 19 additions and 3 deletions

View File

@ -259,6 +259,8 @@ def main():
code_text = selected_text.get("text", "")
response = add_comments(selected_text=code_text, file_path=file_path)
if not response:
sys.exit(1)
new_code = extract_markdown_block(response)
if not new_code:

View File

@ -401,6 +401,8 @@ def main():
if branch_name:
user_input += "\ncurrent repo branch name is:" + branch_name
commit_message = generate_commit_message_base_diff(user_input, diff)
if not commit_message:
sys.exit(1)
# TODO
# remove Closes #IssueNumber in commit message

View File

@ -291,6 +291,8 @@ def main():
response = add_docstring(
selected_text=selected_text.get("text", ""), file_path=selected_text.get("abspath", "")
)
if not response:
sys.exit(1)
# Get indent level
indent = get_indent_level(selected_text.get("text", ""))

View File

@ -83,8 +83,8 @@ def explain(selected_text, visible_text):
def main():
explain(selected_text=get_selected_code(), visible_text=get_visible_code())
sys.exit(0)
result = explain(selected_text=get_selected_code(), visible_text=get_visible_code())
sys.exit(0 if result else 1)
if __name__ == "__main__":

View File

@ -141,6 +141,8 @@ def main():
# rewrite
response = fix_bugs(selected_text=selected_text, visible_text=visible_text)
if not response:
sys.exit(1)
# apply new code to editor
new_code = extract_markdown_block(response)

View File

@ -229,6 +229,8 @@ def main():
# rewrite
response = reanme_variable(selected_text=selected_code, file_path=selected_file)
if not response:
sys.exit(1)
# apply new code to editor
new_code = extract_markdown_block(response)

View File

@ -120,6 +120,8 @@ def main():
# rewrite
response = ai_rewrite(question=question, selected_text=selected_text)
if not response:
sys.exit(1)
# apply new code to editor
new_code = extract_markdown_block(response)

View File

@ -122,6 +122,8 @@ def propose_test(
)
or {}
)
if not json_res:
raise ValueError("No valid json response")
else:
# Use the openai api parameters

View File

@ -138,10 +138,12 @@ def write_and_print_tests(
if USE_USER_MODEL:
# Use the wrapped api
_ = chat_completion_stream_out(
response = chat_completion_stream_out(
messages=[{"role": "user", "content": user_msg}],
llm_config={"model": MODEL, "temperature": 0.1},
)
if not response.get("content", None):
raise response["error"]
else:
# Use the openai api parameters