Accept flexible hardcore metadata labels
This commit is contained in:
@@ -276,7 +276,36 @@ def hardcore_position_key_choices() -> list[str]:
|
||||
|
||||
|
||||
def normalize_hardcore_position_family(value: Any, default: str = "any") -> str:
|
||||
text = str(value or default).strip()
|
||||
text = re.sub(r"[^a-z0-9]+", "_", str(value or default).strip().lower()).strip("_")
|
||||
aliases = {
|
||||
"penetration": "penetrative",
|
||||
"penetrative_sex": "penetrative",
|
||||
"penetration_sex": "penetrative",
|
||||
"vaginal": "penetrative",
|
||||
"vaginal_penetration": "penetrative",
|
||||
"foreplay_teasing": "foreplay",
|
||||
"body_worship": "interaction",
|
||||
"body_worship_touching": "interaction",
|
||||
"clothing_position_transitions": "interaction",
|
||||
"dominant_guidance": "interaction",
|
||||
"camera_performance": "interaction",
|
||||
"group_coordination": "interaction",
|
||||
"aftercare_cleanup": "interaction",
|
||||
"manual_stimulation": "manual",
|
||||
"oral_sex": "oral",
|
||||
"outer_course": "outercourse",
|
||||
"outercourse_sex": "outercourse",
|
||||
"anal_double_penetration": "anal",
|
||||
"three_some": "threesome",
|
||||
"threesomes": "threesome",
|
||||
"group_sex": "group",
|
||||
"group_sex_orgy": "group",
|
||||
"orgy": "group",
|
||||
"cumshot": "climax",
|
||||
"cumshot_climax": "climax",
|
||||
"orgasm_aftermath": "climax",
|
||||
}
|
||||
text = aliases.get(text, text)
|
||||
return text if text in HARDCORE_POSITION_FAMILY_CHOICES else default
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user