Skip to content

Commit

Permalink
Merge pull request #42 from cullenwatson/fix/class-type-error
Browse files Browse the repository at this point in the history
- refactor & #41 bug fix
  • Loading branch information
ZacharyHampton authored Sep 6, 2023
2 parents 43eb2fe + 690739e commit a37e7f2
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 13 deletions.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "python-jobspy"
version = "1.1.1"
version = "1.1.2"
description = "Job scraper for LinkedIn, Indeed & ZipRecruiter"
authors = ["Zachary Hampton <[email protected]>", "Cullen Watson <[email protected]>"]
readme = "README.md"
Expand Down
8 changes: 4 additions & 4 deletions src/jobspy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def _map_str_to_site(site_name: str) -> Site:


def scrape_jobs(
site_name: str | Site | List[Site],
site_name: str | List[str] | Site | List[Site],
search_term: str,
location: str = "",
distance: int = None,
Expand All @@ -43,11 +43,12 @@ def scrape_jobs(
"""

if type(site_name) == str:
site_name = _map_str_to_site(site_name)
site_type = [_map_str_to_site(site_name)]
else: #: if type(site_name) == list
site_type = [_map_str_to_site(site) if type(site) == str else site_name for site in site_name]

country_enum = Country.from_string(country_indeed)

site_type = [site_name] if type(site_name) == Site else site_name
scraper_input = ScraperInput(
site_type=site_type,
country=country_enum,
Expand Down Expand Up @@ -122,7 +123,6 @@ def worker(site):
errors_list = [(key, value) for key, value in errors.items()]
errors_df = pd.DataFrame(errors_list, columns=["Site", "Error"])


if dfs:
df = pd.concat(dfs, ignore_index=True)
if hyperlinks:
Expand Down
4 changes: 1 addition & 3 deletions src/jobspy/scrapers/indeed/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,7 @@ def scrape_page(
raise StatusException(response.status_code)

soup = BeautifulSoup(response.content, "html.parser")
with open("text2.html", "w", encoding="utf-8") as f:
f.write(str(soup))
if "did not match any jobs" in str(soup):
if "did not match any jobs" in response.text:
raise ParsingException("Search did not match any jobs")

jobs = IndeedScraper.parse_jobs(
Expand Down
10 changes: 10 additions & 0 deletions src/tests/test_all.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from ..jobspy import scrape_jobs


def test_all():
result = scrape_jobs(
site_name=["linkedin", "indeed", "zip_recruiter"],
search_term="software engineer",
results_wanted=5,
)
assert result is not None and result.errors.empty is True
2 changes: 1 addition & 1 deletion src/tests/test_indeed.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ def test_indeed():
site_name="indeed",
search_term="software engineer",
)
assert result is not None
assert result is not None and result.errors.empty is True
4 changes: 2 additions & 2 deletions src/tests/test_linkedin.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from jobspy import scrape_jobs
from ..jobspy import scrape_jobs


def test_linkedin():
result = scrape_jobs(
site_name="linkedin",
search_term="software engineer",
)
assert result is not None
assert result is not None and result.errors.empty is True
4 changes: 2 additions & 2 deletions src/tests/test_ziprecruiter.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from jobspy import scrape_jobs
from ..jobspy import scrape_jobs


def test_ziprecruiter():
Expand All @@ -7,4 +7,4 @@ def test_ziprecruiter():
search_term="software engineer",
)

assert result is not None
assert result is not None and result.errors.empty is True

0 comments on commit a37e7f2

Please sign in to comment.