from enum import Enum, unique from dataclasses import dataclass @unique class OMEResponse(Enum): TRUST_XTREME = "trust-xtreme" TRUST_VERY = "trust-very" TRUST_REALLY = "trust-really" TRUST_QUITE = "trust-quite" TRUST_PARTIAL = "trust-partial" TRUST_MAYBE = "trust-maybe" HAPPINESS_XTREME = "happiness-xtreme" HAPPINESS_VERY = "happiness-very" HAPPINESS_REALLY = "happiness-really" HAPPINESS_QUITE = "happiness-quite" HAPPINESS_PARTIAL = "happiness-partial" HAPPINESS_MAYBE = "happiness-maybe" POSITIVE = "positive" MORE_POSITIVE_THAN_NEGATIVE = "more-positive-than-negative" NEUTRAL = "neutral" MORE_NEGATIVE_THAN_POSITIVE = "more-negative-than-positive" NEGATIVE = "negative" SADNESS_XTREME = "sadness-xtreme" SADNESS_VERY = "sadness-very" SADNESS_REALLY = "sadness-really" SADNESS_QUITE = "sadness-quite" SADNESS_PARTIAL = "sadness-partial" SADNESS_MAYBE = "sadness-maybe" ANGER_XTREME = "anger-xtreme" ANGER_VERY = "anger-very" ANGER_REALLY = "anger-really" ANGER_QUITE = "anger-quite" ANGER_PARTIAL = "anger-partial" ANGER_MAYBE = "anger-maybe" FEAR_XTREME = "fear-xtreme" FEAR_VERY = "fear-very" FEAR_REALLY = "fear-really" FEAR_QUITE = "fear-quite" FEAR_PARTIAL = "fear-partial" FEAR_MAYBE = "fear-maybe" GUILT_XTREME = "guilt-xtreme" GUILT_VERY = "guilt-very" GUILT_REALLY = "guilt-really" GUILT_QUITE = "guilt-quite" GUILT_PARTIAL = "guilt-partial" GUILT_MAYBE = "guilt-maybe" JEALOUSY_XTREME = "jealousy-xtreme" JEALOUSY_VERY = "jealousy-very" JEALOUSY_REALLY = "jealousy-really" JEALOUSY_QUITE = "jealousy-quite" JEALOUSY_PARTIAL = "jealousy-partial" JEALOUSY_MAYBE = "jealousy-maybe" INDETERMINATE = "indeterminate" @property def reaction(self) -> str: reactions = { OMEResponse.TRUST_XTREME: " trust or love that could be extremely positive,", OMEResponse.TRUST_VERY: " trust or love that could be very positive,", OMEResponse.TRUST_REALLY: " trust or love that could be really positive,", OMEResponse.TRUST_QUITE: " trust or love that could be quite positive,", OMEResponse.TRUST_PARTIAL: " trust or love that could be somewhat positive,", OMEResponse.TRUST_MAYBE: " trust or love that could be slightly positive,", OMEResponse.HAPPINESS_XTREME: " happiness or pleasure that could be extremely positive,", OMEResponse.HAPPINESS_VERY: " happiness or pleasure that could be very positive,", OMEResponse.HAPPINESS_REALLY: " happiness or pleasure that could be really positive,", OMEResponse.HAPPINESS_QUITE: " happiness or pleasure that could be quite positive,", OMEResponse.HAPPINESS_PARTIAL: " happiness or pleasure that could be somewhat positive,", OMEResponse.HAPPINESS_MAYBE: " happiness or pleasure that could be slightly positive,", OMEResponse.POSITIVE: " something that could be positive,", OMEResponse.MORE_POSITIVE_THAN_NEGATIVE: " something that could be more positive than negative,", OMEResponse.NEUTRAL: " something, but it is neutral in value,", OMEResponse.MORE_NEGATIVE_THAN_POSITIVE: " something that could be more negative than positive,", OMEResponse.NEGATIVE: " something that could be negative,", OMEResponse.SADNESS_XTREME: " sadness or trauma that could be extremely negative,", OMEResponse.SADNESS_VERY: " sadness or trauma that could be very negative,", OMEResponse.SADNESS_REALLY: " sadness or trauma that could be really negative,", OMEResponse.SADNESS_QUITE: " sadness or trauma that could be quite negative", OMEResponse.SADNESS_PARTIAL: " sadness or trauma that could be slightly negative,", OMEResponse.SADNESS_MAYBE: " sadness or trauma that could be somewhat negative,", OMEResponse.ANGER_XTREME: " anger or disgust that could be extremely negative,", OMEResponse.ANGER_VERY: " anger or disgust that could be very negative,", OMEResponse.ANGER_REALLY: " anger or disgust that could be really negative,", OMEResponse.ANGER_QUITE: " anger or disgust that could be quite negative,", OMEResponse.ANGER_PARTIAL: " anger or disgust that could be somewhat negative,", OMEResponse.ANGER_MAYBE: " anger or disgust that could be slightly negative,", OMEResponse.FEAR_XTREME: " fear or anxiety that could be extremely negative,", OMEResponse.FEAR_VERY: " fear or anxiety that could be very negative,", OMEResponse.FEAR_REALLY: " fear or anxiety that could be really negative,", OMEResponse.FEAR_QUITE: " fear or anxiety that could be quite negative,", OMEResponse.FEAR_PARTIAL: " fear or anxiety that could be somewhat negative,", OMEResponse.FEAR_MAYBE: " fear or anxiety that could be slightly negative,", OMEResponse.GUILT_XTREME: " shame or guilt that could be extremely negative,", OMEResponse.GUILT_VERY: " shame or guilt that could be very negative,", OMEResponse.GUILT_REALLY: " shame or guilt that could be really negative,", OMEResponse.GUILT_QUITE: " shame or guilt that could be quite negative,", OMEResponse.GUILT_PARTIAL: " shame or guilt that could be somewhat negative,", OMEResponse.GUILT_MAYBE: " shame or guilt that could be slightly negative,", OMEResponse.JEALOUSY_XTREME: " jealousy or envy that could be extremely negative,", OMEResponse.JEALOUSY_VERY: " jealousy or envy that could be very negative,", OMEResponse.JEALOUSY_REALLY: " jealousy or envy that could be really negative,", OMEResponse.JEALOUSY_QUITE: " jealousy or envy that could be quite negative,", OMEResponse.JEALOUSY_PARTIAL: " jealousy or envy that could be somewhat negative,", OMEResponse.JEALOUSY_MAYBE: " jealousy or envy that could be slightly negative,", OMEResponse.INDETERMINATE: " something, but it is indeterminate," } return reactions[self] @property def display_name(self) -> str: return self.value.replace("-", " ").title()