Spaces:
Runtime error
Runtime error
# Import necessary libraries | |
from convert import ExtractPDFText | |
from ATS_score import calculateATSscore | |
from model import modelFeedback | |
import streamlit as st | |
import time | |
if "page_number" not in st.session_state: | |
st.session_state.page_number = 1 | |
if "resume_data" not in st.session_state: | |
st.session_state.resume_data = "" | |
if "jobdescription" not in st.session_state: | |
st.session_state.jobdescription = "" | |
def set_page_number_and_reset_data(): | |
st.session_state.page_number = 1 | |
st.session_state.resume_data = "" | |
def page1(): | |
st.title("AI-Powered ATS Screening") | |
if not st.session_state.resume_data: | |
pdf = st.file_uploader(label="Upload your resume", type="pdf") | |
st.write("No Resume Yet? Create one [here](https://www.overleaf.com/latex/templates/tagged/cv)") | |
if pdf: | |
st.success("Resume uploaded successfully.") | |
st.session_state.resume_data = ExtractPDFText(pdf) | |
def page2(): | |
st.title("AI-Powered ATS Screening: Job Description") | |
st.session_state.jobdescription = st.text_area("Job Description: ") | |
st.info("You can just copy paste from the job portal") | |
submit = st.button("Submit") | |
if submit: | |
start() | |
def page3(): | |
st.title("Your Resume data: ") | |
if st.session_state.resume_data: | |
st.write(st.session_state.resume_data) | |
else: | |
st.error("Please upload your resume to view the extracted data") | |
def start(): | |
if st.session_state.resume_data and st.session_state.jobdescription: | |
with st.spinner("Hold on, we're calculating your ATS Score..."): | |
ATS_score = calculateATSscore(st.session_state.resume_data, st.session_state.jobdescription) | |
model_feedback = modelFeedback(ATS_score, st.session_state.resume_data) | |
# time.sleep(5) | |
st.subheader("AI FEEDBACK:") | |
st.write(model_feedback.text) | |
else: | |
st.info("Please, upload Resume and Provide the Job Description") | |
if st.session_state.page_number == 1: | |
page1() | |
elif st.session_state.page_number == 2: | |
page2() | |
elif st.session_state.page_number == 3: | |
page3() | |
if st.session_state.page_number == 1: | |
st.button("View your Extracted Resume data", on_click = lambda: setattr(st.session_state,"page_number", 3)) | |
st.button("Go to Job Description Page", on_click=lambda: setattr(st.session_state, "page_number", 2)) | |
else: | |
st.button("Go to PDF Upload Page", on_click=lambda: set_page_number_and_reset_data()) | |