def fromName()

in visibilitylib/src/main/scala/com/twitter/visibility/models/TweetSafetyLabel.scala [30:229]


  def fromName(name: String): Option[TweetSafetyLabelType] = nameToValueMap.get(name.toLowerCase)

  private val UnknownThriftSafetyLabelType =
    s.SafetyLabelType.EnumUnknownSafetyLabelType(UnknownEnumValue)

  private lazy val thriftToModelMap: Map[s.SafetyLabelType, TweetSafetyLabelType] = Map(
    s.SafetyLabelType.Abusive -> Abusive,
    s.SafetyLabelType.AbusiveBehavior -> AbusiveBehavior,
    s.SafetyLabelType.AbusiveBehaviorInsults -> AbusiveBehaviorInsults,
    s.SafetyLabelType.AbusiveBehaviorViolentThreat -> AbusiveBehaviorViolentThreat,
    s.SafetyLabelType.AbusiveBehaviorMajorAbuse -> AbusiveBehaviorMajorAbuse,
    s.SafetyLabelType.AbusiveHighRecall -> AbusiveHighRecall,
    s.SafetyLabelType.AdsManagerDenyList -> AdsManagerDenyList,
    s.SafetyLabelType.AgathaSpam -> AgathaSpam,
    s.SafetyLabelType.Automation -> Automation,
    s.SafetyLabelType.AutomationHighRecall -> AutomationHighRecall,
    s.SafetyLabelType.Bounce -> Bounce,
    s.SafetyLabelType.BounceEdits -> BounceEdits,
    s.SafetyLabelType.BrandSafetyNsfaAggregate -> BrandSafetyNsfaAggregate,
    s.SafetyLabelType.BrandSafetyExperimental1 -> BrandSafetyExperimental1,
    s.SafetyLabelType.BrandSafetyExperimental2 -> BrandSafetyExperimental2,
    s.SafetyLabelType.BrandSafetyExperimental3 -> BrandSafetyExperimental3,
    s.SafetyLabelType.BrandSafetyExperimental4 -> BrandSafetyExperimental4,
    s.SafetyLabelType.BystanderAbusive -> BystanderAbusive,
    s.SafetyLabelType.CopypastaSpam -> CopypastaSpam,
    s.SafetyLabelType.DoNotAmplify -> DoNotAmplify,
    s.SafetyLabelType.DownrankSpamReply -> DownrankSpamReply,
    s.SafetyLabelType.DuplicateContent -> DuplicateContent,
    s.SafetyLabelType.DuplicateMention -> DuplicateMention,
    s.SafetyLabelType.DynamicProductAd -> DynamicProductAd,
    s.SafetyLabelType.EdiDevelopmentOnly -> EdiDevelopmentOnly,
    s.SafetyLabelType.ExperimentalNudge -> ExperimentalNudge,
    s.SafetyLabelType.ExperimentalSensitiveIllegal2 -> ExperimentalSensitiveIllegal2,
    s.SafetyLabelType.ForEmergencyUseOnly -> ForEmergencyUseOnly,
    s.SafetyLabelType.GoreAndViolence -> GoreAndViolence,
    s.SafetyLabelType.GoreAndViolenceHighPrecision -> GoreAndViolenceHighPrecision,
    s.SafetyLabelType.GoreAndViolenceHighRecall -> GoreAndViolenceHighRecall,
    s.SafetyLabelType.GoreAndViolenceReportedHeuristics -> GoreAndViolenceReportedHeuristics,
    s.SafetyLabelType.GoreAndViolenceTopicHighRecall -> GoreAndViolenceTopicHighRecall,
    s.SafetyLabelType.HatefulConduct -> HatefulConduct,
    s.SafetyLabelType.HatefulConductViolentThreat -> HatefulConductViolentThreat,
    s.SafetyLabelType.HighCryptospamScore -> HighCryptospamScore,
    s.SafetyLabelType.HighPReportedTweetScore -> HighPReportedTweetScore,
    s.SafetyLabelType.HighPSpammyTweetScore -> HighPSpammyTweetScore,
    s.SafetyLabelType.HighPblockScore -> HighPblockScore,
    s.SafetyLabelType.HighProactiveTosScore -> HighProactiveTosScore,
    s.SafetyLabelType.HighSpammyTweetContentScore -> HighSpammyTweetContentScore,
    s.SafetyLabelType.HighToxicityScore -> HighToxicityScore,
    s.SafetyLabelType.HighlyReportedAndMidhighToxicityScore -> HighlyReportedAndMidhighToxicityScore,
    s.SafetyLabelType.HighlyReportedTweet -> HighlyReportedTweet,
    s.SafetyLabelType.InterstitialDevelopmentOnly -> InterstitialDevelopmentOnly,
    s.SafetyLabelType.IpiDevelopmentOnly -> IpiDevelopmentOnly,
    s.SafetyLabelType.LiveLowQuality -> LiveLowQuality,
    s.SafetyLabelType.LowQuality -> LowQuality,
    s.SafetyLabelType.LowQualityMention -> LowQualityMention,
    s.SafetyLabelType.MisinfoCivic -> MisinfoCivic,
    s.SafetyLabelType.MisinfoCrisis -> MisinfoCrisis,
    s.SafetyLabelType.MisinfoGeneric -> MisinfoGeneric,
    s.SafetyLabelType.MisinfoMedical -> MisinfoMedical,
    s.SafetyLabelType.NsfaHighPrecision -> NsfaHighPrecision,
    s.SafetyLabelType.NsfaHighRecall -> NsfaHighRecall,
    s.SafetyLabelType.NsfwCardImage -> NsfwCardImage,
    s.SafetyLabelType.NsfwHighPrecision -> NsfwHighPrecision,
    s.SafetyLabelType.NsfwHighRecall -> NsfwHighRecall,
    s.SafetyLabelType.NsfwReportedHeuristics -> NsfwReportedHeuristics,
    s.SafetyLabelType.NsfwText -> NsfwText,
    s.SafetyLabelType.NsfwTextHighPrecision -> NsfwTextHighPrecision,
    s.SafetyLabelType.NsfwVideo -> NsfwVideo,
    s.SafetyLabelType.PNegMultimodalHighPrecision -> PNegMultimodalHighPrecision,
    s.SafetyLabelType.PNegMultimodalHighRecall -> PNegMultimodalHighRecall,
    s.SafetyLabelType.Pdna -> Pdna,
    s.SafetyLabelType.RecommendationsLowQuality -> RecommendationsLowQuality,
    s.SafetyLabelType.RitoActionedTweet -> RitoActionedTweet,
    s.SafetyLabelType.SafetyCrisis -> SafetyCrisis,
    s.SafetyLabelType.SearchBlacklist -> SearchBlacklist,
    s.SafetyLabelType.SearchBlacklistHighRecall -> SearchBlacklistHighRecall,
    s.SafetyLabelType.SemanticCoreMisinformation -> SemanticCoreMisinformation,
    s.SafetyLabelType.SmyteSpamTweet -> SmyteSpamTweet,
    s.SafetyLabelType.Spam -> Spam,
    s.SafetyLabelType.SpamHighRecall -> SpamHighRecall,
    s.SafetyLabelType.TombstoneDevelopmentOnly -> TombstoneDevelopmentOnly,
    s.SafetyLabelType.TweetContainsHatefulConductSlurHighSeverity -> TweetContainsHatefulConductSlurHighSeverity,
    s.SafetyLabelType.TweetContainsHatefulConductSlurMediumSeverity -> TweetContainsHatefulConductSlurMediumSeverity,
    s.SafetyLabelType.TweetContainsHatefulConductSlurLowSeverity -> TweetContainsHatefulConductSlurLowSeverity,
    s.SafetyLabelType.UnsafeUrl -> UnsafeUrl,
    s.SafetyLabelType.UntrustedUrl -> UntrustedUrl,
    s.SafetyLabelType.FosnrHatefulConduct -> FosnrHatefulConduct,
    s.SafetyLabelType.FosnrHatefulConductLowSeveritySlur -> FosnrHatefulConductLowSeveritySlur,
    s.SafetyLabelType.AbusiveHighRecall2 -> Deprecated,
    s.SafetyLabelType.AbusiveHighRecall3 -> Deprecated,
    s.SafetyLabelType.BrazilianPoliticalTweet -> Deprecated,
    s.SafetyLabelType.BystanderAbusive2 -> Deprecated,
    s.SafetyLabelType.BystanderAbusive3 -> Deprecated,
    s.SafetyLabelType.DeprecatedLabel144 -> Deprecated,
    s.SafetyLabelType.Experimental10Seh -> Deprecated,
    s.SafetyLabelType.Experimental11Seh -> Deprecated,
    s.SafetyLabelType.Experimental12Seh -> Deprecated,
    s.SafetyLabelType.Experimental13Seh -> Deprecated,
    s.SafetyLabelType.Experimental14Seh -> Deprecated,
    s.SafetyLabelType.Experimental15Seh -> Deprecated,
    s.SafetyLabelType.Experimental16Seh -> Deprecated,
    s.SafetyLabelType.Experimental17Seh -> Deprecated,
    s.SafetyLabelType.Experimental18Seh -> Deprecated,
    s.SafetyLabelType.Experimental19Seh -> Deprecated,
    s.SafetyLabelType.Experimental1Seh -> Deprecated,
    s.SafetyLabelType.Experimental20Seh -> Deprecated,
    s.SafetyLabelType.Experimental21Seh -> Deprecated,
    s.SafetyLabelType.Experimental22Seh -> Deprecated,
    s.SafetyLabelType.Experimental23Seh -> Deprecated,
    s.SafetyLabelType.Experimental24Seh -> Deprecated,
    s.SafetyLabelType.Experimental25Seh -> Deprecated,
    s.SafetyLabelType.Experimental2Seh -> Deprecated,
    s.SafetyLabelType.Experimental3Seh -> Deprecated,
    s.SafetyLabelType.Experimental4Seh -> Deprecated,
    s.SafetyLabelType.Experimental5Seh -> Deprecated,
    s.SafetyLabelType.Experimental6Seh -> Deprecated,
    s.SafetyLabelType.Experimental7Seh -> Deprecated,
    s.SafetyLabelType.Experimental8Seh -> Deprecated,
    s.SafetyLabelType.Experimental9Seh -> Deprecated,
    s.SafetyLabelType.ExperimentalHighHealthModelScore1 -> Deprecated,
    s.SafetyLabelType.ExperimentalHighHealthModelScore10 -> Deprecated,
    s.SafetyLabelType.ExperimentalHighHealthModelScore2 -> Deprecated,
    s.SafetyLabelType.ExperimentalHighHealthModelScore3 -> Deprecated,
    s.SafetyLabelType.ExperimentalHighHealthModelScore4 -> Deprecated,
    s.SafetyLabelType.ExperimentalHighHealthModelScore5 -> Deprecated,
    s.SafetyLabelType.ExperimentalHighHealthModelScore6 -> Deprecated,
    s.SafetyLabelType.ExperimentalHighHealthModelScore7 -> Deprecated,
    s.SafetyLabelType.ExperimentalHighHealthModelScore8 -> Deprecated,
    s.SafetyLabelType.ExperimentalHighHealthModelScore9 -> Deprecated,
    s.SafetyLabelType.ExperimentalSensitiveIllegal1 -> Deprecated,
    s.SafetyLabelType.ExperimentalSensitiveIllegal3 -> Deprecated,
    s.SafetyLabelType.ExperimentalSensitiveIllegal4 -> Deprecated,
    s.SafetyLabelType.ExperimentalSensitiveIllegal5 -> Deprecated,
    s.SafetyLabelType.ExperimentalSensitiveIllegal6 -> Deprecated,
    s.SafetyLabelType.ExperimentalSpam1 -> Deprecated,
    s.SafetyLabelType.ExperimentalSpam2 -> Deprecated,
    s.SafetyLabelType.ExperimentalSpam3 -> Deprecated,
    s.SafetyLabelType.Experimentation -> Deprecated,
    s.SafetyLabelType.Experimentation2 -> Deprecated,
    s.SafetyLabelType.Experimentation3 -> Deprecated,
    s.SafetyLabelType.HighlyReportedImage -> Deprecated,
    s.SafetyLabelType.HighToxicityHoldbackModelScore -> Deprecated,
    s.SafetyLabelType.LowQualityHighRecall -> Deprecated,
    s.SafetyLabelType.MagicRecsDenylist -> Deprecated,
    s.SafetyLabelType.MisinfoCovid19 -> Deprecated,
    s.SafetyLabelType.MsnfoBrazilianElection -> Deprecated,
    s.SafetyLabelType.MsnfoCovid19Vaccine -> Deprecated,
    s.SafetyLabelType.MsnfoFrenchElection -> Deprecated,
    s.SafetyLabelType.MsnfoPhilippineElection -> Deprecated,
    s.SafetyLabelType.MsnfoUsElection -> Deprecated,
    s.SafetyLabelType.NsfwNearPerfect -> Deprecated,
    s.SafetyLabelType.PersonaNonGrata -> Deprecated,
    s.SafetyLabelType.PMisinfoCombined15 -> Deprecated,
    s.SafetyLabelType.PMisinfoCombined30 -> Deprecated,
    s.SafetyLabelType.PMisinfoCombined50 -> Deprecated,
    s.SafetyLabelType.PMisinfoDenylist -> Deprecated,
    s.SafetyLabelType.PMisinfoPVeracityNudge -> Deprecated,
    s.SafetyLabelType.PoliticalTweetExperimental1 -> Deprecated,
    s.SafetyLabelType.ProactiveTosHighRecall -> Deprecated,
    s.SafetyLabelType.ProactiveTosHighRecallContainsSelfHarm -> Deprecated,
    s.SafetyLabelType.ProactiveTosHighRecallEncourageSelfHarm -> Deprecated,
    s.SafetyLabelType.ProactiveTosHighRecallEpisodic -> Deprecated,
    s.SafetyLabelType.ProactiveTosHighRecallEpisodicHatefulConduct -> Deprecated,
    s.SafetyLabelType.ProactiveTosHighRecallOtherAbusePolicy -> Deprecated,
    s.SafetyLabelType.ProjectLibra -> Deprecated,
    s.SafetyLabelType.SearchHighVisibilityDenylist -> Deprecated,
    s.SafetyLabelType.SearchHighVisibilityHighRecallDenylist -> Deprecated,
    s.SafetyLabelType.Reserved162 -> Deprecated,
    s.SafetyLabelType.Reserved163 -> Deprecated,
    s.SafetyLabelType.Reserved164 -> Deprecated,
    s.SafetyLabelType.Reserved165 -> Deprecated,
    s.SafetyLabelType.Reserved166 -> Deprecated,
    s.SafetyLabelType.Reserved167 -> Deprecated,
    s.SafetyLabelType.Reserved168 -> Deprecated,
    s.SafetyLabelType.Reserved169 -> Deprecated,
    s.SafetyLabelType.Reserved170 -> Deprecated,
  )

  private lazy val modelToThriftMap: Map[TweetSafetyLabelType, s.SafetyLabelType] =
    (for ((k, v) <- thriftToModelMap) yield (v, k)) ++ Map(
      Deprecated -> s.SafetyLabelType.EnumUnknownSafetyLabelType(DeprecatedEnumValue),
    )

  case object Abusive extends TweetSafetyLabelType
  case object AbusiveBehavior extends TweetSafetyLabelType
  case object AbusiveBehaviorInsults extends TweetSafetyLabelType
  case object AbusiveBehaviorViolentThreat extends TweetSafetyLabelType
  case object AbusiveBehaviorMajorAbuse extends TweetSafetyLabelType
  case object AbusiveHighRecall extends TweetSafetyLabelType
  case object Automation extends TweetSafetyLabelType
  case object AutomationHighRecall extends TweetSafetyLabelType
  case object Bounce extends TweetSafetyLabelType
  case object BystanderAbusive extends TweetSafetyLabelType
  case object NsfaHighRecall extends TweetSafetyLabelType
  case object DuplicateContent extends TweetSafetyLabelType
  case object DuplicateMention extends TweetSafetyLabelType
  case object GoreAndViolence extends TweetSafetyLabelType {

    val DeprecatedAt: Time = Time.at("2019-09-12 00:00:00 UTC")
  }