Spaces:
Runtime error
Runtime error
| import csv | |
| import os | |
| import gradio as gr | |
| # GPT Prompt | |
| PROMPTS_CSV_PATH = "saved_prompts.csv" | |
| def get_prompts_from_csv(): | |
| if not os.path.exists(PROMPTS_CSV_PATH): | |
| return [] | |
| with open(PROMPTS_CSV_PATH, 'r', newline='', encoding='utf-8') as file: | |
| reader = csv.reader(file) | |
| # remove empty rows | |
| return [row[0] for row in reader if row] | |
| def save_prompt(prompt): | |
| # Append CSV | |
| with open(PROMPTS_CSV_PATH, 'a+', newline='', encoding='utf-8') as file: | |
| # Move to start | |
| file.seek(0) | |
| reader = csv.reader(file) | |
| existing_prompts = [row[0] for row in reader] | |
| if prompt not in existing_prompts: | |
| writer = csv.writer(file) | |
| writer.writerow([prompt]) | |
| # Move to end | |
| file.seek(0, os.SEEK_END) | |
| return gr.Dropdown(label="Saved Prompts", choices=get_prompts_from_csv(), type="value", interactive=True) | |
| def delete_prompt(prompt): | |
| lines = [] | |
| with open(PROMPTS_CSV_PATH, 'r', newline='', encoding='utf-8') as readFile: | |
| reader = csv.reader(readFile) | |
| lines = [row for row in reader if row and row[0] != prompt] | |
| with open(PROMPTS_CSV_PATH, 'w', newline='', encoding='utf-8') as writeFile: | |
| writer = csv.writer(writeFile) | |
| writer.writerows(lines) | |
| return gr.Dropdown(label="Saved Prompts", choices=get_prompts_from_csv(), type="value", interactive=True) |