atsfill 0.0.4.dev52__tar.gz → 0.0.4.dev53__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/PKG-INFO +1 -1
  2. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/pyproject.toml +1 -1
  3. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/pyproject.toml.orig +1 -1
  4. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/ashby.py +7 -5
  5. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/LICENSE +0 -0
  6. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/README.md +0 -0
  7. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/__init__.py +0 -0
  8. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/__init__.py +0 -0
  9. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/bamboohr.py +0 -0
  10. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/breezy.py +0 -0
  11. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/dayforce.py +0 -0
  12. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/greenhouse.py +0 -0
  13. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/hireology.py +0 -0
  14. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/jazzhr.py +0 -0
  15. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/lever.py +0 -0
  16. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/manatal.py +0 -0
  17. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/oracle.py +0 -0
  18. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/paycor.py +0 -0
  19. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/paylocity.py +0 -0
  20. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/phenom.py +0 -0
  21. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/recruitee.py +0 -0
  22. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/smartrecruiters.py +0 -0
  23. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/teamtailor.py +0 -0
  24. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/workable.py +0 -0
  25. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/adapters/wttj.py +0 -0
  26. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/cli.py +0 -0
  27. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/core/__init__.py +0 -0
  28. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/core/accounts.py +0 -0
  29. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/core/adapter.py +0 -0
  30. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/core/attempts.py +0 -0
  31. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/core/browser.py +0 -0
  32. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/core/commands.py +0 -0
  33. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/core/matching.py +0 -0
  34. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/core/paths.py +0 -0
  35. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/core/registry.py +0 -0
  36. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/core/results.py +0 -0
  37. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/py.typed +0 -0
  38. {atsfill-0.0.4.dev52 → atsfill-0.0.4.dev53}/src/atsfill/registry.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atsfill
3
- Version: 0.0.4.dev52
3
+ Version: 0.0.4.dev53
4
4
  Summary: Read, dry-run and submit job application forms on hiring systems: Ashby, Greenhouse, Teamtailor, Welcome to the Jungle.
5
5
  Keywords: job-applications,ats,ashby,greenhouse,teamtailor,ai-agents,cli
6
6
  Author: shbernal
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "atsfill"
3
- version = "0.0.4.dev52"
3
+ version = "0.0.4.dev53"
4
4
  description = "Read, dry-run and submit job application forms on hiring systems: Ashby, Greenhouse, Teamtailor, Welcome to the Jungle."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "atsfill"
3
- version = "0.0.4.dev52"
3
+ version = "0.0.4.dev53"
4
4
  description = "Read, dry-run and submit job application forms on hiring systems: Ashby, Greenhouse, Teamtailor, Welcome to the Jungle."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -12,6 +12,7 @@ from functools import partial
12
12
  from typing import Any
13
13
  from urllib.parse import parse_qs, urlsplit
14
14
 
15
+ from atsfill.core import browser
15
16
  from atsfill.core.adapter import Blocked, Gap, Unsupported, known_gap
16
17
  from atsfill.core.browser import HTTP_TIMEOUT_S, Page, Response, Timeout
17
18
  from atsfill.core.results import Answer, Field, FieldType, SideEffect
@@ -152,16 +153,17 @@ class Ashby:
152
153
  case FieldType.CHOICE, str() if entry.locator("input[role=combobox]").count():
153
154
  entry.locator("input[role=combobox]").fill(answer)
154
155
  option = page.get_by_role("option", name=answer, exact=True)
155
- self._saved(page, option.click)
156
+ self._saved(page, partial(browser.click, option))
156
157
  case FieldType.CHOICE, str():
157
- self._saved(page, entry.get_by_text(answer, exact=True).click)
158
+ self._saved(page, partial(browser.click, entry.get_by_text(answer, exact=True)))
158
159
  case FieldType.MULTI_CHOICE, list():
159
160
  for value in answer:
160
- self._saved(page, entry.get_by_text(value, exact=True).click)
161
+ choice = entry.get_by_text(value, exact=True)
162
+ self._saved(page, partial(browser.click, choice))
161
163
  case FieldType.TYPEAHEAD, str():
162
164
  entry.locator("input[role=combobox]").fill(answer)
163
165
  option = page.get_by_role("option").filter(has_text=answer).first
164
- self._saved(page, option.click)
166
+ self._saved(page, partial(browser.click, option))
165
167
  case FieldType.FILE, str():
166
168
  upload = entry.locator("input[type=file]")
167
169
  self._saved(page, partial(upload.set_input_files, answer))
@@ -201,7 +203,7 @@ class Ashby:
201
203
  lambda r: _op(r).startswith("ApiSubmit") and _op(r).endswith("Action"),
202
204
  timeout=SUBMIT_TIMEOUT_MS,
203
205
  ) as submitted:
204
- page.locator(".ashby-application-form-submit-button").click()
206
+ browser.click(page.locator(".ashby-application-form-submit-button"))
205
207
  response = submitted.value
206
208
  text = response.text()
207
209
  if "RECAPTCHA_SCORE_BELOW_THRESHOLD" in text or "spam" in text.lower():
File without changes
File without changes