SPB Git forge

spb/job-ka

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

[ka6] fix connecteur sofinafoods: repli en-CA quand le flux fr-CA est vide — la recherche Dayforce en cultureCode fr-CA ne renvoie QUE les offres traduites en français (vérifié: fr-CA maxCount=0 vs en-CA maxCount=15; Sofina Foods est un employeur ontarien à base anglaise, même mécanique observée sur lavieenrose 146 fr vs 243 en). L'unique offre QC historique (Directeur Performance D'affaires, Lévis, 12233, date limite 2026-08-27) a expiré à la source: absente des 15 postings en-CA (tous ON/BC/AB), page publique fr-CA elle-même vide → volume 0 légitime. Purge par le mécanisme normal: sync isolé rejoué le 2026-08-27 04:10 → miss_count=2 + date limite dépassée → active=0 (found=0, removed=1, statut ok). Durcissement: SofinafoodsConnector.fetch rejoue la recherche en en-CA quand le passage fr-CA ne retient rien, pour ne pas rater un futur poste québécois publié sans traduction française (filtre Québec de la classe de base inchangé). Testé: repli en-CA voit les 15 offres brutes, 0 après filtre QC = comportement correct.

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

1 changed file +23 −1

modified jobka/connectors/sofinafoods.py +23 −1
@@ -5,9 +5,17 @@
5 5 # Fichier : jobka/connectors/sofinafoods.py
6 6 # Rôle : Connecteur Sofinafoods — dayforce (ns='sofinafoods', board='CANDIDATEPORTAL')
7 7 # [généré par scripts/gen_connectors.py, flux vérifié le 2026-08-23]
8 −# Créé : 2026-08-23 Modifié : 2026-08-23
8 +# Créé : 2026-08-23 Modifié : 2026-08-27
9 9 # =============================================================================
10 +# Note ka6 (2026-08-27) : la recherche Dayforce en cultureCode fr-CA ne renvoie
11 +# QUE les offres traduites en français (vérifié : fr-CA maxCount=0 alors que
12 +# en-CA maxCount=15 — Sofina Foods est un employeur ontarien à base anglaise).
13 +# L'unique offre QC historique (Directeur Performance D'affaires, Lévis,
14 +# date limite 2026-08-27) a expiré à la source → volume 0 légitime. Pour ne pas
15 +# rater un futur poste québécois publié sans traduction française, on rejoue la
16 +# recherche en en-CA quand le passage fr-CA ne retient rien.
10 17 from .dayforce import DayforceConnector
18 +from ..schema import JobPosting
11 19
12 20
13 21 class SofinafoodsConnector(DayforceConnector):
@@ -15,3 +23,17 @@ class SofinafoodsConnector(DayforceConnector):
15 23 EMPLOYER = 'Sofinafoods'
16 24 NS = 'sofinafoods'
17 25 BOARD = 'CANDIDATEPORTAL'
26 +
27 + def fetch(self) -> list[JobPosting]:
28 + jobs = super().fetch()
29 + if jobs:
30 + return jobs
31 + # Repli : le flux fr-CA est vide (tenant sans traductions) — la même
32 + # recherche en en-CA voit toutes les offres ; le filtre Québec de la
33 + # classe de base s'applique inchangé.
34 + culture = self.CULTURE
35 + try:
36 + self.CULTURE = 'en-CA'
37 + return super().fetch()
38 + finally:
39 + self.CULTURE = culture
18 40