using System; using System.Linq; using MediaBrowser.Model.Entities; namespace Emby.Naming.TV; /// /// Helper class for TV metadata parsing. /// public static class TvParserHelpers { private static readonly string[] _continuingState = ["Pilot", "Returning Series", "Returning"]; private static readonly string[] _endedState = ["Cancelled", "Canceled"]; /// /// Tries to parse a string into . /// /// The status string. /// The . /// Returns true if parsing was successful. public static bool TryParseSeriesStatus(string status, out SeriesStatus? enumValue) { if (Enum.TryParse(status, true, out SeriesStatus seriesStatus)) { enumValue = seriesStatus; return true; } if (_continuingState.Contains(status, StringComparer.OrdinalIgnoreCase)) { enumValue = SeriesStatus.Continuing; return true; } if (_endedState.Contains(status, StringComparer.OrdinalIgnoreCase)) { enumValue = SeriesStatus.Ended; return true; } enumValue = null; return false; } }