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()) | |