HTML 82.1%
Python 14.6%
TypeScript 1.9%
CSS 1%
JavaScript 0.5%
1# =============================================================================2# Job·Ka — Groupe KA3# Auteur : Simon-Pierre Boucher4# Contact : contact@spboucher.ai5# Fichier : jobka/connectors/harrisrebar.py6# Rôle : Connecteur Nucor Rebar Fabrication / Harris Rebar — dayforce7# (ns='harrisrebar', board='CANDIDATEPORTAL'), balayage fr-CA + en-CA8# [généré par scripts/gen_connectors.py, flux vérifié le 2026-08-23]9# Créé : 2026-08-23 Modifié : 2026-09-1010# =============================================================================11"""Harris Rebar (rebrandé Nucor Rebar Fabrication — harrisrebar.com redirige12vers nucor.com depuis 2026) garde son tenant Dayforce `harrisrebar` actif.1314Contexte 2026-09-10 : la recherche Dayforce est PARTITIONNÉE par culture de15publication — un poste publié en anglais n'apparaît PAS dans la recherche16fr-CA (aucun repli serveur ; vérifié sur lavieenrose fr 172 / en 281 et17soprema fr 23 / en 20). Ce tenant anglophone publie aujourd'hui 12 postes18(ON/AB/NS/NB/BC) tous en en-CA : la recherche fr-CA seule renvoie 0. L'unique19offre QC historique (16804, Montréal, publiée en français) a été dépubliée par20l'employeur le 2026-09-10 — volume 0 légitime ce jour-là. Pour ne pas rater21une future offre QC publiée en anglais seulement, fetch() balaie fr-CA PUIS22en-CA et déduplique par jobPostingId (la version française gagne)."""23from ..schema import JobPosting24from .dayforce import DayforceConnector252627class HarrisrebarConnector(DayforceConnector):28 source_id = 'harrisrebar'29 EMPLOYER = 'Nucor Rebar Fabrication (Harris Rebar)'30 NS = 'harrisrebar'31 BOARD = 'CANDIDATEPORTAL'3233 def fetch(self) -> list[JobPosting]:34 jobs = super().fetch() # culture fr-CA (défaut)35 seen = {j.external_id for j in jobs}36 self.CULTURE = 'en-CA' # attribut d'instance : la37 try: # classe (autres tenants)38 extra = super().fetch() # n'est pas modifiée39 finally:40 self.CULTURE = type(self).CULTURE41 jobs.extend(j for j in extra if j.external_id not in seen)42 return jobs43