sadafwalliyani commited on
Commit
f052e14
·
1 Parent(s): 867ddae

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -3
app.py CHANGED
@@ -4,7 +4,7 @@ import requests
4
  @st.cache_data
5
  def get_top_relevant_normalized_job_titles(job_title, num_answers):
6
  # JAMES API endpoint for the top-N relevant normalized job titles
7
- api_endpoint = f'http://james-mapping.xyz/api/v1/related?job_title={job_title}'
8
 
9
  try:
10
  # Send GET request to JAMES API
@@ -18,7 +18,17 @@ def get_top_relevant_normalized_job_titles(job_title, num_answers):
18
  if not normed_job_title_list:
19
  return ["No normalized titles found"]
20
 
21
- return normed_job_title_list # Remove slicing to return all results
 
 
 
 
 
 
 
 
 
 
22
  else:
23
  # API call unsuccessful
24
  return [f'Error: {response.status_code}']
@@ -40,7 +50,7 @@ def main():
40
  top_normalized_titles = get_top_relevant_normalized_job_titles(job_title, num_answers)
41
 
42
  st.subheader(f'Top {num_answers} Relevant Titles:')
43
- for i, normed_job_title in enumerate(top_normalized_titles, 1):
44
  st.text(f'{i}: {normed_job_title}')
45
 
46
  if __name__ == '__main__':
 
4
  @st.cache_data
5
  def get_top_relevant_normalized_job_titles(job_title, num_answers):
6
  # JAMES API endpoint for the top-N relevant normalized job titles
7
+ api_endpoint = f'http://james-mapping.xyz/api/v1/related?job_title={job_title}&num_answers={num_answers}'
8
 
9
  try:
10
  # Send GET request to JAMES API
 
18
  if not normed_job_title_list:
19
  return ["No normalized titles found"]
20
 
21
+ # Ensure that you have at least 10 results
22
+ while len(normed_job_title_list) < 10:
23
+ # Fetch more data until you have at least 10 results
24
+ num_answers += 1
25
+ api_endpoint = f'http://james-mapping.xyz/api/v1/related?job_title={job_title}&num_answers={num_answers}'
26
+ response = requests.get(api_endpoint)
27
+ response_data = response.json()
28
+ new_titles = response_data.get("normed_job_title_list", [])
29
+ normed_job_title_list.extend(new_titles)
30
+
31
+ return normed_job_title_list
32
  else:
33
  # API call unsuccessful
34
  return [f'Error: {response.status_code}']
 
50
  top_normalized_titles = get_top_relevant_normalized_job_titles(job_title, num_answers)
51
 
52
  st.subheader(f'Top {num_answers} Relevant Titles:')
53
+ for i, normed_job_title in enumerate(top_normalized_titles[:num_answers], 1):
54
  st.text(f'{i}: {normed_job_title}')
55
 
56
  if __name__ == '__main__':