CoolFace
Apppublic

Pradipta01/Code_Generator

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
code_generator.py81 linesDownload Raw Back to root
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()