atsfill 0.0.4.dev101__tar.gz → 0.0.4.dev102__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 (47) hide show
  1. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/PKG-INFO +1 -1
  2. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/pyproject.toml +1 -1
  3. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/pyproject.toml.orig +1 -1
  4. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/smartrecruiters.py +13 -1
  5. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/LICENSE +0 -0
  6. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/README.md +0 -0
  7. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/__init__.py +0 -0
  8. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/__init__.py +0 -0
  9. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/ashby.py +0 -0
  10. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/bamboohr.py +0 -0
  11. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/breezy.py +0 -0
  12. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/dayforce.py +0 -0
  13. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/eightfold.py +0 -0
  14. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/greenhouse.py +0 -0
  15. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/hireology.py +0 -0
  16. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/hiringthing.py +0 -0
  17. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/jazzhr.py +0 -0
  18. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/lever.py +0 -0
  19. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/manatal.py +0 -0
  20. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/oracle.py +0 -0
  21. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/paycor.py +0 -0
  22. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/paylocity.py +0 -0
  23. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/personio.py +0 -0
  24. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/phenom.py +0 -0
  25. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/pinpoint.py +0 -0
  26. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/recruitee.py +0 -0
  27. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/rippling.py +0 -0
  28. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/teamtailor.py +0 -0
  29. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/workable.py +0 -0
  30. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/workday.py +0 -0
  31. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/wttj.py +0 -0
  32. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/adapters/zohorecruit.py +0 -0
  33. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/cli.py +0 -0
  34. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/core/__init__.py +0 -0
  35. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/core/accounts.py +0 -0
  36. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/core/adapter.py +0 -0
  37. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/core/attempts.py +0 -0
  38. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/core/browser.py +0 -0
  39. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/core/commands.py +0 -0
  40. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/core/conditions.py +0 -0
  41. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/core/matching.py +0 -0
  42. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/core/passwords.py +0 -0
  43. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/core/paths.py +0 -0
  44. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/core/registry.py +0 -0
  45. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/core/results.py +0 -0
  46. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/src/atsfill/py.typed +0 -0
  47. {atsfill-0.0.4.dev101 → atsfill-0.0.4.dev102}/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.dev101
3
+ Version: 0.0.4.dev102
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.dev101"
3
+ version = "0.0.4.dev102"
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.dev101"
3
+ version = "0.0.4.dev102"
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"
@@ -429,6 +429,14 @@ def _inputs(box: Locator, entry: dict[str, Any], question: dict[str, Any]) -> Lo
429
429
  return box.locator("input:not([type=checkbox]), textarea").nth(n)
430
430
 
431
431
 
432
+ def _select(box: Locator, entry: dict[str, Any], question: dict[str, Any]) -> Locator:
433
+ """The autocomplete of one of the question's selects, which holds its own options: the
434
+ selects of a group (work shifts, an EEO pair) share option ids."""
435
+ selects = [e["id"] for e in question["fields"] if e["type"] == "select"]
436
+ hosts = box.locator("spl-autocomplete, spl-multiselect-autocomplete")
437
+ return hosts.nth(selects.index(entry["id"]))
438
+
439
+
432
440
  def _fill_question(
433
441
  box: Locator, question: dict[str, Any], entry: dict[str, Any], answer: Answer
434
442
  ) -> None:
@@ -448,7 +456,11 @@ def _fill_question(
448
456
  continue
449
457
  target.click()
450
458
  target.press_sequentially(value[:20], delay=KEY_DELAY_MS)
451
- option = box.locator(f"spl-select-option[value='{option_id}']").first
459
+ option = (
460
+ _select(box, entry, question)
461
+ .locator(f"spl-select-option[value='{option_id}']")
462
+ .first
463
+ )
452
464
  try:
453
465
  option.wait_for(timeout=OPTION_TIMEOUT_MS)
454
466
  except Timeout:
File without changes
File without changes