def __init__(self):
entity = Entity.GENDER
non_binary = Pattern(
pattern=re.compile(r"^non[-_ ]?binary$", flags=re.IGNORECASE),
ignore_raw_score=True,
context_score=Score.MAX,
header_contexts=GENDER_HEADERS,
)
trans_gender = Pattern(
pattern=re.compile(r"^trans[-_ ]?(gender)?$", flags=re.IGNORECASE),
ignore_raw_score=True,
context_score=Score.MAX,
header_contexts=GENDER_HEADERS,
)
inter_sex = Pattern(
pattern=re.compile(r"^inter[-_ ]?sex$", flags=re.IGNORECASE),
ignore_raw_score=True,
context_score=Score.MAX,
header_contexts=GENDER_HEADERS,
)
m = Pattern(
pattern=re.compile(r"^m$", flags=re.IGNORECASE),
ignore_raw_score=True,
context_score=Score.HIGH,
header_contexts=GENDER_HEADERS,
)
f = Pattern(
pattern=re.compile(r"^f$", flags=re.IGNORECASE),
ignore_raw_score=True,
context_score=Score.HIGH,
header_contexts=GENDER_HEADERS,
)
male = Pattern(
pattern=re.compile(r"^male$", flags=re.IGNORECASE),
ignore_raw_score=True,
context_score=Score.MAX,
header_contexts=GENDER_HEADERS,
)
female = Pattern(
pattern=re.compile(r"^female$", flags=re.IGNORECASE),
ignore_raw_score=True,
context_score=Score.MAX,
header_contexts=GENDER_HEADERS,
)
all_patterns = [non_binary, trans_gender, inter_sex, male, female, m, f]
super().__init__(name="gender", entity=entity, patterns=all_patterns)