halimbahae commited on
Commit
288df6b
·
verified ·
1 Parent(s): 331c146

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -6
app.py CHANGED
@@ -35,7 +35,12 @@ def ats_friendly_checker(file):
35
 
36
  score_text = response.split("\n")[0].split(":")[-1].strip()
37
  feedback = "\n".join(response.split("\n")[1:])
38
- score = parse_score(score_text) * 100 # Convert to percentage
 
 
 
 
 
39
  return score, feedback
40
 
41
  def scrape_job_description(url):
@@ -47,7 +52,7 @@ def scrape_job_description(url):
47
  def resume_match_checker(file, job_url):
48
  resume_text = extract_text_from_pdf(file)
49
  job_description = scrape_job_description(job_url)
50
- system_message = "Compare the following resume with the job description and provide a match score."
51
  message = f"Resume: {resume_text}\n\nJob Description: {job_description}"
52
  response = client.chat_completion(
53
  [{"role": "system", "content": system_message}, {"role": "user", "content": message}],
@@ -57,8 +62,14 @@ def resume_match_checker(file, job_url):
57
  ).choices[0].message.content
58
 
59
  match_score_text = response.split(":")[-1].strip()
60
- match_score = parse_score(match_score_text) * 100 # Convert to percentage
61
- return match_score
 
 
 
 
 
 
62
 
63
  def resume_quality_score(file):
64
  resume_text = extract_text_from_pdf(file)
@@ -74,7 +85,12 @@ def resume_quality_score(file):
74
  score_lines = response.split("\n")
75
  quality_score_text = score_lines[0].split(":")[-1].strip()
76
  interpretation = "\n".join(score_lines[1:])
77
- quality_score = parse_score(quality_score_text) * 100 # Convert to percentage
 
 
 
 
 
78
  return quality_score, interpretation
79
 
80
  def text_to_overleaf(resume_text):
@@ -106,7 +122,8 @@ with gr.Blocks() as demo:
106
  resume = gr.File(label="Upload your Resume (PDF)")
107
  job_url = gr.Textbox(label="Job Description URL")
108
  match_score = gr.Number(label="Match Score", interactive=False)
109
- gr.Button("Check Match").click(resume_match_checker, [resume, job_url], match_score)
 
110
 
111
  with gr.Tab("Resume Quality Score"):
112
  with gr.Row():
 
35
 
36
  score_text = response.split("\n")[0].split(":")[-1].strip()
37
  feedback = "\n".join(response.split("\n")[1:])
38
+ score = parse_score(score_text)
39
+ if score is not None:
40
+ score *= 100 # Convert to percentage
41
+ else:
42
+ score = 0
43
+ feedback = "Error parsing score from the response."
44
  return score, feedback
45
 
46
  def scrape_job_description(url):
 
52
  def resume_match_checker(file, job_url):
53
  resume_text = extract_text_from_pdf(file)
54
  job_description = scrape_job_description(job_url)
55
+ system_message = "Compare the following resume with the job description and provide a match score and feedback."
56
  message = f"Resume: {resume_text}\n\nJob Description: {job_description}"
57
  response = client.chat_completion(
58
  [{"role": "system", "content": system_message}, {"role": "user", "content": message}],
 
62
  ).choices[0].message.content
63
 
64
  match_score_text = response.split(":")[-1].strip()
65
+ feedback = "\n".join(response.split("\n")[1:])
66
+ match_score = parse_score(match_score_text)
67
+ if match_score is not None:
68
+ match_score *= 100 # Convert to percentage
69
+ else:
70
+ match_score = 0
71
+ feedback = "Error parsing match score from the response."
72
+ return match_score, feedback
73
 
74
  def resume_quality_score(file):
75
  resume_text = extract_text_from_pdf(file)
 
85
  score_lines = response.split("\n")
86
  quality_score_text = score_lines[0].split(":")[-1].strip()
87
  interpretation = "\n".join(score_lines[1:])
88
+ quality_score = parse_score(quality_score_text)
89
+ if quality_score is not None:
90
+ quality_score *= 100 # Convert to percentage
91
+ else:
92
+ quality_score = 0
93
+ interpretation = "Error parsing quality score from the response."
94
  return quality_score, interpretation
95
 
96
  def text_to_overleaf(resume_text):
 
122
  resume = gr.File(label="Upload your Resume (PDF)")
123
  job_url = gr.Textbox(label="Job Description URL")
124
  match_score = gr.Number(label="Match Score", interactive=False)
125
+ feedback = gr.Textbox(label="Feedback", interactive=False)
126
+ gr.Button("Check Match").click(resume_match_checker, [resume, job_url], [match_score, feedback])
127
 
128
  with gr.Tab("Resume Quality Score"):
129
  with gr.Row():