atsfill 0.0.4.dev26__tar.gz → 0.0.4.dev28__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.dev26 → atsfill-0.0.4.dev28}/PKG-INFO +1 -1
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/pyproject.toml +1 -1
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/pyproject.toml.orig +1 -1
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/core/browser.py +10 -2
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/core/registry.py +1 -1
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/LICENSE +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/README.md +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/__init__.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/adapters/__init__.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/adapters/ashby.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/adapters/greenhouse.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/adapters/manatal.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/adapters/oracle.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/adapters/paylocity.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/adapters/smartrecruiters.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/adapters/teamtailor.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/adapters/workable.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/adapters/wttj.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/cli.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/core/__init__.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/core/accounts.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/core/adapter.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/core/attempts.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/core/commands.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/core/matching.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/core/paths.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/core/results.py +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/src/atsfill/py.typed +0 -0
- {atsfill-0.0.4.dev26 → atsfill-0.0.4.dev28}/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.dev28
|
|
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
|
|
@@ -14,6 +14,7 @@ from concurrent.futures import Future
|
|
|
14
14
|
from contextlib import contextmanager
|
|
15
15
|
from pathlib import Path
|
|
16
16
|
|
|
17
|
+
from camoufox.addons import DefaultAddons, maybe_download_addons
|
|
17
18
|
from camoufox.exceptions import CamoufoxNotInstalled
|
|
18
19
|
from camoufox.fingerprints import Screen, generate_fingerprint
|
|
19
20
|
from camoufox.pkgman import installed_verstr
|
|
@@ -66,8 +67,15 @@ def version() -> str:
|
|
|
66
67
|
|
|
67
68
|
|
|
68
69
|
def install() -> int:
|
|
69
|
-
"""Fetches the pinned browser build
|
|
70
|
-
|
|
70
|
+
"""Fetches the pinned browser build unless it is installed, then the add-ons every launch
|
|
71
|
+
loads, so that browsers started side by side do not each download them."""
|
|
72
|
+
if version() != BUILD:
|
|
73
|
+
subprocess.call([sys.executable, "-m", "camoufox", "fetch", f"official/{BUILD}"])
|
|
74
|
+
if version() != BUILD: # `camoufox fetch` exits 0 when it fails
|
|
75
|
+
print(f"the Camoufox build {BUILD} is not installed", file=sys.stderr)
|
|
76
|
+
return 1
|
|
77
|
+
maybe_download_addons(list(DefaultAddons))
|
|
78
|
+
return 0
|
|
71
79
|
|
|
72
80
|
|
|
73
81
|
def identity(data_dir: Path) -> dict:
|
|
@@ -181,7 +181,7 @@ def backlog(registry: dict[str, System] | None = None) -> str:
|
|
|
181
181
|
"# Hiring systems",
|
|
182
182
|
"",
|
|
183
183
|
"Generated from [src/atsfill/registry.toml](../../src/atsfill/registry.toml) by"
|
|
184
|
-
" `uv run scripts
|
|
184
|
+
" `uv run python -m scripts.backlog`. The registry is described in"
|
|
185
185
|
" [ADR 0012](../adr/0012-systems-registry.md), the order in"
|
|
186
186
|
" [ADR 0013](../adr/0013-survey-and-adapter-rounds.md): no account first, blocked last,"
|
|
187
187
|
" then by share of postings.",
|
|
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
|