89 lines
2.6 KiB
Python
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
|