Pradipta01/Code_Generator
0
1import google.generativeai as genai
2from dotenv import load_dotenv
3import os
4
5load_dotenv()
6genai.configure(api_key=os.getenv("GEMINI_API_KEY"))
7
8def generate_code(user_input, language):
9 prompt = f"""
10 Generate code in {language} that does the following:
11
12 {user_input}
13
14 Provide only the code, no explanations or comments unless absolutely necessary.
15 Don't include any delimiters at the beginning and the ending of the code.
16 """
17 model=genai.GenerativeModel("gemini-1.5-flash")
18 response = model.generate_content(prompt)
19
20 return response.text
21
22def main():
23 user_input = input("Enter your query: ")
24
25 print("Available languages (choose one):")
26 print("1. Python")
27 print("2. JavaScript")
28 print("3. Java")
29 print("4. SQL")
30 print("5. C++")
31 print("6. R")
32
33
34 while True:
35 language_choice = input("Enter the number corresponding to your preferred language: ")
36 try:
37 language_choice = int(language_choice)
38 if 1 <= language_choice <= 6: # Updated range
39 break
40 else:
41 print("Invalid choice. Please enter a number from the list.")
42 except ValueError:
43 print("Invalid input. Please enter a number.")
44
45 languages = ["Python", "JavaScript", "Java", "SQL", "C++", "R"] # Updated list
46 chosen_language = languages[language_choice - 1]
47
48 generated_code = generate_code(user_input, chosen_language)
49 print("\nGenerated Code:\n")
50 print(generated_code)
51
52 # (Optional) Save to file (be careful with file names from user input)
53 try:
54 filename = input("Enter a filename to save (or press Enter to skip): ")
55 if filename:
56 extension = ""
57 if chosen_language == "Python":
58 extension = ".py"
59 elif chosen_language == "JavaScript":
60 extension = ".js"
61 elif chosen_language == "Java":
62 extension = ".java"
63 elif chosen_language == "SQL":
64 extension = ".sql"
65 elif chosen_language == "C++":
66 extension = ".cpp"
67 elif chosen_language == "R":
68 extension = ".r"
69
70 if not filename.endswith(extension): # Simplified extension adding
71 filename += extension
72
73 with open(filename, "w") as f:
74 f.write(generated_code)
75 print(f"Code saved to {filename}")
76
77 except Exception as e:
78 print(f"Error saving file: {e}")
79
80if __name__ == "__main__":
81 main()