import os

import openai
from flask import Flask, redirect, render_template, request, url_for

app = Flask(__name__)
openai.api_key = os.getenv("OPENAI_API_KEY")


@app.route("/", methods=("GET", "POST"))
def index():
    if request.method == "POST":
        task_form = request.form["task_form"]
        response = openai.Completion.create(model="text-davinci-003", 
                                            prompt = generate_prompt(task_form),
                                            temperature=0, 
                                            max_tokens=2048)
        return redirect(url_for("index", result=response.choices[0].text))

    result = request.args.get("result")
    return render_template("index.html", result=result)
    
def generate_prompt(task_form):
    base_text = "You are a software engineer at a software development company. Your job is to assign tags to tasks based on the software/tools used. Please generate one-word tags representing software/tools/libraries commonly used by developers to build or complete the following task."
    return base_text + "TASK: " + task_form 

def generate_technical_tags(task_form):
    prompt = generate_prompt(task_form)
    
    response = openai.Completion.create(
        model="text-davinci-003",
        prompt=prompt,
        temperature=0,
        max_tokens=100,
        stop=["TASK:"]
    )

    tags = response.choices[0].text.strip().split("\n")
    return tags

    
    return base_text + "TASK: " + task_form