SPB Git forge

spb/job-ka

Public
229commits 1branches 0releases
38.1 MBsize
maindefault branch
5 h agolast push
HTML 82.1% Python 14.6% TypeScript 1.9% CSS 1% JavaScript 0.5%

[ka6] fix connecteur shell: employeur Shell Canada — l'unique offre QC (Terminal Operator – Fixed Term, Montreal - Terminal, R208883, publiée 2026-08-26) a été dépubliée à la source en moins de 24 h : détail Workday 404 (deux formes d'URL), recherche interne R208883/Montreal = 0, facette locationCountry sans Canada sur les 45 postings du site ShellCareers. Volume 0 légitime (médiane historique 0.5 — employeur à 0-1 offre QC). Purge par le mécanisme normal du pipeline: sync isolé rejoué le 2026-08-27 → miss_count=2 + retrait → active=0 (found=0, removed=1, statut ok). Durcissement (même esprit que sofinafoods 26a1e02): Shell publie ses postes opérationnels/horaires sur un second site Workday du même tenant, « Fasttrack » (vérifié: R209807 Scotford - Refinery y figure, absent de ShellCareers) — ShellConnector.fetch balaie maintenant ShellCareers + Fasttrack avec dédup par external_id, pour ne pas rater un futur poste québécois publié uniquement sur Fasttrack; filtre Québec de la classe de base inchangé. Testé: fetch réel voit 45 offres brutes ShellCareers + 12 Fasttrack, 0 après filtre QC = comportement correct, SITE restauré après balayage.

Simon-Pierre Boucher committed 28 days ago (Aug 27, 2026) parent 26a1e02

1 changed file +29 −2

modified jobka/connectors/shell.py +29 −2
@@ -3,11 +3,22 @@
3 3 # Auteur : Simon-Pierre Boucher
4 4 # Contact : contact@spboucher.ai
5 5 # Fichier : jobka/connectors/shell.py
6 −# Rôle : Connecteur Shell Canada — workday (tenant shell.wd3, site ShellCareers)
6 +# Rôle : Connecteur Shell Canada — workday (tenant shell.wd3, sites
7 +# ShellCareers + Fasttrack)
7 8 # [généré par scripts/gen_connectors.py, flux vérifié le 2026-08-22]
8 −# Créé : 2026-08-22 Modifié : 2026-08-22
9 +# Créé : 2026-08-22 Modifié : 2026-08-27
9 10 # =============================================================================
11 +# Note ka6 (2026-08-27) : l'unique offre QC (Terminal Operator – Fixed Term,
12 +# Montreal - Terminal, R208883, publiée 2026-08-26) a été dépubliée à la source
13 +# en moins de 24 h (détail 404, recherche interne 0, facette locationCountry
14 +# sans Canada) → volume 0 légitime, médiane historique 0.5. Shell publie par
15 +# ailleurs ses postes opérationnels/horaires sur un second site Workday du
16 +# même tenant, « Fasttrack » (vérifié : R209807 Scotford - Refinery y figure) ;
17 +# pour ne pas rater un futur poste québécois publié uniquement là, on balaie
18 +# aussi ce site, avec dédup par external_id (certaines offres paraissent sur
19 +# les deux). Le filtre Québec de la classe de base s'applique inchangé.
10 20 from .workday import WorkdayConnector
21 +from ..schema import JobPosting
11 22
12 23
13 24 class ShellConnector(WorkdayConnector):
@@ -16,3 +27,19 @@ class ShellConnector(WorkdayConnector):
16 27 TENANT = 'shell'
17 28 HOST = 'wd3'
18 29 SITE = 'ShellCareers'
30 + EXTRA_SITES = ('Fasttrack',)
31 +
32 + def fetch(self) -> list[JobPosting]:
33 + jobs = super().fetch()
34 + seen = {j.external_id for j in jobs}
35 + site = self.SITE
36 + try:
37 + for extra in self.EXTRA_SITES:
38 + self.SITE = extra
39 + fresh = [j for j in super().fetch()
40 + if j.external_id not in seen]
41 + jobs.extend(fresh)
42 + seen.update(j.external_id for j in fresh)
43 + finally:
44 + self.SITE = site
45 + return jobs
19 46