delet all what dont need
This commit is contained in:
parent
7555dc3319
commit
aedebb3eba
@ -9,7 +9,6 @@ def load_vacancies(filepath: str) -> list[dict]:
|
||||
except:
|
||||
print()
|
||||
return []
|
||||
|
||||
def filter_by_city(vacancies: list[dict], city: str) -> list[dict]:
|
||||
return [i for i in vacancies if i.get('city','').lower() == city.lower()]
|
||||
def filter_by_skills(vacancies: list[dict], required_skills: list[str]) -> list[dict]:
|
||||
@ -21,8 +20,7 @@ def extract_unique_companies(vacancies: list[dict]) -> list[str]:
|
||||
def extract_top_skills(vacancies: list[dict], top_n: int) -> list[tuple[str, int]]:
|
||||
all_skills = []
|
||||
for v in vacancies:
|
||||
all_skills.extend(v.get('skills', []))
|
||||
|
||||
all_skills.extend(v.get('skills', []))
|
||||
skill_counts = Counter(all_skills)
|
||||
return skill_counts.most_common(top_n)
|
||||
def calculate_average_salary(vacancies: list[dict]) -> float:
|
||||
@ -32,18 +30,15 @@ def calculate_average_salary(vacancies: list[dict]) -> float:
|
||||
salaries = []
|
||||
for v in vacancies:
|
||||
salary_from = v.get('salary_from')
|
||||
salary_to = v.get('salary_to')
|
||||
|
||||
salary_to = v.get('salary_to')
|
||||
if salary_from is not None and salary_to is not None:
|
||||
salaries.append((salary_from + salary_to) / 2)
|
||||
elif salary_from is not None:
|
||||
salaries.append(salary_from)
|
||||
elif salary_to is not None:
|
||||
salaries.append(salary_to)
|
||||
|
||||
salaries.append(salary_to)
|
||||
if not salaries:
|
||||
return 0.0
|
||||
|
||||
return 0.0
|
||||
return sum(salaries) / len(salaries)
|
||||
def group_by_company(vacancies: list[dict]) -> dict[str, int]:
|
||||
all_company = []
|
||||
@ -53,8 +48,7 @@ def group_by_company(vacancies: list[dict]) -> dict[str, int]:
|
||||
return company_count
|
||||
def format_vacancy_short(vacancy: dict) -> str:
|
||||
salary_from = vacancy.get('salary_from')
|
||||
salary_to = vacancy.get('salary_to')
|
||||
|
||||
salary_to = vacancy.get('salary_to')
|
||||
if salary_from is not None and salary_to is not None:
|
||||
salary_str = f"от {salary_from} до {salary_to}"
|
||||
elif salary_from is not None:
|
||||
@ -63,31 +57,16 @@ def format_vacancy_short(vacancy: dict) -> str:
|
||||
salary_str = f"до {salary_to}"
|
||||
else:
|
||||
salary_str = "зарплата не указана"
|
||||
|
||||
return (f"ID {vacancy.get('id')}: {vacancy.get('title')} в {vacancy.get('company')}, "
|
||||
f"{vacancy.get('city')} — {salary_str}")
|
||||
def save_filtered_results(vacancies: list[dict], filename: str) -> bool:
|
||||
return
|
||||
def interface():
|
||||
os.system('cls' if os.name == 'nt' else 'clear')
|
||||
print ("Your command:")
|
||||
print ("1. Load form json\n2. Filter by city\n3. Filter by skils\n4. Filter by salary")
|
||||
print ("5. Extract unique companies\n6. Extract top skills\n7. Calculate average salary")
|
||||
print ("8. Group by company\n9. Format vacancy short\n10. Save filtred results\n11. Exit")
|
||||
def user_chouse(user_input:int):
|
||||
match user_input:
|
||||
case 1:
|
||||
|
||||
return load_vacancies(input("Path for json: "))
|
||||
case 11:
|
||||
return
|
||||
case _:
|
||||
print ("Error uncorrecteble number")
|
||||
def main():
|
||||
while (user_input != 11):
|
||||
interface()
|
||||
user_input = int(input("Chouse command: "))
|
||||
user_chouse(user_input)
|
||||
main_list=load_vacancies(input("Print path for json:"))
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ =="__main__":
|
||||
#вход проги
|
||||
|
||||
Loading…
Reference in New Issue
Block a user