Extract penetration role graph wording
This commit is contained in:
+3
-38
@@ -7,9 +7,11 @@ from typing import Any
|
||||
try:
|
||||
from .hardcore_role_oral import build_oral_role_graph
|
||||
from .hardcore_role_outercourse import build_outercourse_role_graph
|
||||
from .hardcore_role_penetration import build_penetration_role_graph
|
||||
except ImportError: # Allows local smoke tests with `python -c`.
|
||||
from hardcore_role_oral import build_oral_role_graph
|
||||
from hardcore_role_outercourse import build_outercourse_role_graph
|
||||
from hardcore_role_penetration import build_penetration_role_graph
|
||||
|
||||
|
||||
def _lettered(prefix: str, count: int) -> list[str]:
|
||||
@@ -238,43 +240,6 @@ def build_hardcore_role_graph(
|
||||
return f"{woman} kneels in front of {man} at hip height while {man} ejaculates semen onto her face, lips, and chest."
|
||||
return f"{woman} lies on her back with thighs open while {man} kneels between her legs and ejaculates semen onto her body."
|
||||
|
||||
def penetration_position_graph(woman: str, man: str) -> str:
|
||||
text = " ".join(
|
||||
str(part or "").lower()
|
||||
for part in (
|
||||
item_text,
|
||||
*((item_axis_values or {}).values()),
|
||||
)
|
||||
)
|
||||
if "missionary" in text:
|
||||
return (
|
||||
f"{woman} lies on her back with legs open around {man}'s hips while {man} is above her between her thighs; "
|
||||
f"{man}'s hips press close and {man}'s penis thrusts into her pussy."
|
||||
)
|
||||
if "reverse cowgirl" in text:
|
||||
return f"{woman} straddles {man}'s hips facing away while {man} lies under her and {man}'s penis thrusts into her pussy."
|
||||
if "cowgirl" in text or "straddling" in text:
|
||||
return f"{woman} straddles {man}'s hips facing him while {man} lies under her and {man}'s penis thrusts into her pussy."
|
||||
if "doggy" in text or "rear-entry" in text or "bent-over" in text or "bent over" in text:
|
||||
return f"{woman} is on all fours with hips raised while {man} is positioned behind her and {man}'s penis thrusts into her pussy."
|
||||
if "standing" in text:
|
||||
return f"{woman} stands braced with hips angled back while {man} stands behind her and {man}'s penis thrusts into her pussy."
|
||||
if "spooning" in text or "side-lying" in text:
|
||||
return f"{woman} lies on her side with thighs parted while {man} presses behind her and {man}'s penis thrusts into her pussy."
|
||||
if "edge-of-bed" in text or "edge of bed" in text or "bed edge" in text or "edge-supported" in text or "raised edge" in text:
|
||||
return (
|
||||
f"{woman} lies back at a raised edge with hips at the edge and legs open while {man} kneels between her thighs; "
|
||||
f"{man}'s hips press close and {man}'s penis thrusts into her pussy."
|
||||
)
|
||||
if "kneeling straddle" in text:
|
||||
return f"{woman} kneels straddling {man}'s hips while {man} supports her waist and {man}'s penis thrusts into her pussy."
|
||||
if "lotus" in text:
|
||||
return f"{woman} sits in {man}'s lap facing him with legs around his hips while {man}'s penis thrusts into her pussy."
|
||||
return (
|
||||
f"{woman} lies on her back with legs spread wide and knees bent outward while {man} kneels between her open thighs facing her; "
|
||||
f"{man}'s hips are pressed between her legs and {man}'s penis thrusts into her pussy."
|
||||
)
|
||||
|
||||
def anal_position_graph(woman: str, man: str) -> str:
|
||||
text = " ".join(
|
||||
str(part or "").lower()
|
||||
@@ -414,5 +379,5 @@ def build_hardcore_role_graph(
|
||||
elif "cumshot" in slug or "climax" in slug:
|
||||
graph = climax_position_graph(woman, man, third)
|
||||
else:
|
||||
graph = penetration_position_graph(woman, man)
|
||||
graph = build_penetration_role_graph(woman, man, item_text, item_axis_values)
|
||||
return graph + support_sentence({woman, man, third} if third else {woman, man})
|
||||
|
||||
Reference in New Issue
Block a user