import streamlit as st
from transformers import pipeline

print ("Loading model....")

#Title and Description
st.title("programming language identification")
st.write("""
### Powered bu Hugging Face and Streamlit
This app uses a pre-trained model from Hugging Face to identificate programming language.
Enter a programming language to determine what language it is!
""")

#Initialize Hugging Face Language identification pipeline
@st.cache_resource
def load_model():
    print("before load model")
    return pipeline("text-classification", model="huggingface/CodeBERTa-language-id")

language_identificator = load_model()

# Input Test from User
user_input = st.text_area("Enter some code to analyze",)

#Identificate language
if st.button("Identificate Language"):
    print("button click")
    if user_input.strip():
        result = language_identificator(user_input)[0]
        language = result['label']
        score = result['score']
        
        #Display the Result
        st.subheader("Language Identification Result")
        st.write(f"**Language:** {language}")
        st.write(f"**Score:** {score:.2f}")
    else:
        st.warning("Please enter some code to analyze!")