atsfill 0.0.4.dev100__tar.gz → 0.0.4.dev101__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.
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/PKG-INFO +1 -1
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/pyproject.toml +1 -1
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/pyproject.toml.orig +1 -1
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/smartrecruiters.py +7 -1
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/LICENSE +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/README.md +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/__init__.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/__init__.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/ashby.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/bamboohr.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/breezy.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/dayforce.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/eightfold.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/greenhouse.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/hireology.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/hiringthing.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/jazzhr.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/lever.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/manatal.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/oracle.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/paycor.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/paylocity.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/personio.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/phenom.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/pinpoint.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/recruitee.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/rippling.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/teamtailor.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/workable.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/workday.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/wttj.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/adapters/zohorecruit.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/cli.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/core/__init__.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/core/accounts.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/core/adapter.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/core/attempts.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/core/browser.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/core/commands.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/core/conditions.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/core/matching.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/core/passwords.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/core/paths.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/core/registry.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/core/results.py +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/src/atsfill/py.typed +0 -0
- {atsfill-0.0.4.dev100 → atsfill-0.0.4.dev101}/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.
|
|
3
|
+
Version: 0.0.4.dev101
|
|
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
|
|
@@ -35,6 +35,7 @@ KEY_DELAY_MS = 20
|
|
|
35
35
|
LOCATION_KEY_DELAY_MS = 30
|
|
36
36
|
NEXT_TRIES = 3
|
|
37
37
|
YES_NO = ["Yes", "No"]
|
|
38
|
+
NUMBER = re.compile(r"-?\d+([.,]\d+)?") # what an `input[type=number]` takes
|
|
38
39
|
|
|
39
40
|
# The profile page: (field id, the input, the element carrying `label` and `required`).
|
|
40
41
|
PROFILE = [
|
|
@@ -221,6 +222,8 @@ class SmartRecruiters:
|
|
|
221
222
|
if kind in SKIPPED:
|
|
222
223
|
return []
|
|
223
224
|
label = _plain(question["label"])
|
|
225
|
+
if kind == "currency": # an `input[type=number]`, its currency beside
|
|
226
|
+
label += " (a number)"
|
|
224
227
|
shown_when = self._shown_when(question["id"])
|
|
225
228
|
required = bool(question["required"])
|
|
226
229
|
unfillable = None
|
|
@@ -453,7 +456,10 @@ def _fill_question(
|
|
|
453
456
|
continue
|
|
454
457
|
option.click()
|
|
455
458
|
case _:
|
|
456
|
-
_inputs(box, entry, question)
|
|
459
|
+
target = _inputs(box, entry, question)
|
|
460
|
+
if target.get_attribute("type") == "number" and not NUMBER.fullmatch(values[0]):
|
|
461
|
+
return # a number input holds no text: it reads back empty
|
|
462
|
+
target.fill(values[0])
|
|
457
463
|
|
|
458
464
|
|
|
459
465
|
def _read_question(box: Locator, question: dict[str, Any], entry: dict[str, Any]) -> Answer | None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|