SPB Git

spb/job-ka

Public

[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 (Aug 27, 2026) parent b387be9 Browse files

1 changed file +23 −1

Unified Split
modified jobka/connectors/sofinafoods.py +23 −1
@@ -5,9 +5,17 @@
5 # Fichier : jobka/connectors/sofinafoods.py 5 # Fichier : jobka/connectors/sofinafoods.py
6 # Rôle : Connecteur Sofinafoods — dayforce (ns='sofinafoods', board='CANDIDATEPORTAL') 6 # Rôle : Connecteur Sofinafoods — dayforce (ns='sofinafoods', board='CANDIDATEPORTAL')
7 # [généré par scripts/gen_connectors.py, flux vérifié le 2026-08-23] 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 from .dayforce import DayforceConnector 17 from .dayforce import DayforceConnector
18+from ..schema import JobPosting
11 19
12 20
13 class SofinafoodsConnector(DayforceConnector): 21 class SofinafoodsConnector(DayforceConnector):
@@ -15,3 +23,17 @@ class SofinafoodsConnector(DayforceConnector):
15 EMPLOYER = 'Sofinafoods' 23 EMPLOYER = 'Sofinafoods'
16 NS = 'sofinafoods' 24 NS = 'sofinafoods'
17 BOARD = 'CANDIDATEPORTAL' 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
Menu

Theme