Files
VacatureRadar/apps/sources/platforms.py
T
2026-07-22 05:12:07 +02:00

89 lines
2.6 KiB
Python

from __future__ import annotations
from dataclasses import dataclass
@dataclass(frozen=True)
class PlatformAlert:
key: str
label: str
domains: tuple[str, ...]
alert_url: str
help_text: str
PLATFORM_ALERTS = {
alert.key: alert
for alert in (
PlatformAlert(
"vdab",
"VDAB",
("vdab.be",),
"https://www.vdab.be/jobs/job-alerts",
"Brede Vlaamse vacaturealerts.",
),
PlatformAlert(
"indeed",
"Indeed",
("indeed.com", "indeed.be"),
"https://support.indeed.com/hc/nl/articles/204488890-"
"Vacature-alerts-activeren-stopzetten-en-beheren",
"Algemene en regionale vacaturealerts.",
),
PlatformAlert(
"linkedin",
"LinkedIn",
("linkedin.com",),
"https://www.linkedin.com/help/linkedin/answer/a511279",
"Dagelijkse of wekelijkse alerts, maximaal twintig per LinkedIn-account.",
),
PlatformAlert(
"ictjob",
"ictjob.be",
("ictjob.be",),
"https://www.ictjob.be/nl/it-job-alert",
"Gespecialiseerde Belgische IT- en telecomvacatures.",
),
PlatformAlert(
"jobat",
"Jobat",
("jobat.be",),
"https://www.jobat.be/nl/jobalert",
"Belgische jobs per functie, regio en contracttype.",
),
PlatformAlert(
"stepstone",
"StepStone",
("stepstone.be",),
"https://www.stepstone.be/vacatures",
"Dagelijkse vergelijkbare vacatures vanuit een zoekopdracht.",
),
PlatformAlert(
"careerjet",
"Careerjet",
("careerjet.be",),
"https://www.careerjet.be/",
"Brede Belgische zoekresultaten met regio- en postcodegebonden e-mailalerts.",
),
PlatformAlert(
"randstad",
"Randstad",
("randstad.be",),
"https://www.randstad.be/jobalert-aanmaken/",
"Belgische jobs met instelbare specialisatie, locatie, contract en frequentie.",
),
PlatformAlert(
"roberthalf",
"Robert Half",
("roberthalf.com",),
"https://www.roberthalf.com/be/en/find-jobs/job-alerts",
"Belgische IT- en digitaljobs, waaronder systeem-, netwerk- en supportfuncties.",
),
)
}
def platform_label(key: str) -> str:
alert = PLATFORM_ALERTS.get(key)
return alert.label if alert else key