Spaces:
Running
Running
File size: 1,352 Bytes
c412b90 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
import streamlit as st
from components.utils import extract_resume_text, convert_dates_to_datetime, is_valid_email
from components.llm_resume_parser import llm_resume_parser
from components.utils import read_pdf_text
resumes_for_testing = {"resume1": "./resumes_for_testing/resume1.pdf",
"resume2": "./resumes_for_testing/resume2.pdf",
"resume3": "./resumes_for_testing/resume3.pdf"}
def sidebar_section(job_title):
with st.sidebar:
resume_file = st.file_uploader("**Upload Your Resume (PDF, Word)**", type=["pdf","docx"])
if 'candidate_data' not in st.session_state:
st.session_state.candidate_data = {}
if resume_file:
resume_text = extract_resume_text(resume_file)
parsed_candidate_data = llm_resume_parser.invoke({"job_title": job_title, "resume_text":resume_text})
if "parsed_candidate_data" not in st.session_state:
st.session_state.parsed_candidate_data = parsed_candidate_data
st.session_state.candidate_data = convert_dates_to_datetime(parsed_candidate_data)
if ("email" in st.session_state.candidate_data) and not is_valid_email(st.session_state.candidate_data["email"]):
st.session_state.candidate_data["email"] = "" |