예제 #1
0
        private bool GetFinalPatternIndexesAndCounts(out int seasonIndex,
                                                     out int seasonCount, out int episodeIndex, out int episodeCount)
        {
            string fileNameWE = FileNameWithoutExtension.ToLower();

            seasonIndex = 0;

            do
            {
                episodeIndex = -1;
                seasonCount  = episodeCount = 0;

                while (seasonIndex < fileNameWE.Length && fileNameWE[seasonIndex] != 's')
                {
                    seasonIndex++;
                }

                seasonIndex++;

                while (seasonIndex + seasonCount < fileNameWE.Length &&
                       char.IsNumber(fileNameWE[seasonIndex + seasonCount]))
                {
                    seasonCount++;
                }

                if (seasonIndex + seasonCount < fileNameWE.Length && fileNameWE[seasonIndex + seasonCount] == 'e')
                {
                    episodeIndex = seasonIndex + seasonCount + 1;

                    while (episodeIndex + episodeCount < fileNameWE.Length &&
                           char.IsNumber(fileNameWE[episodeIndex + episodeCount]))
                    {
                        episodeCount++;
                    }

                    if (seasonIndex != -1 && seasonCount != 0 && episodeIndex != -1 && episodeCount != 0)
                    {
                        return(true);
                    }
                }

                seasonIndex++;
            }while (seasonIndex < fileNameWE.Length);

            return(false);
        }
예제 #2
0
        private void SetNameFromFinalPattern(int startIndex)
        {
            string fileNameWE = FileNameWithoutExtension.ToLower();

            while (startIndex < fileNameWE.Length && fileNameWE[startIndex] == ' ')
            {
                startIndex++;
            }
            while (startIndex < fileNameWE.Length && fileNameWE[startIndex] == '-')
            {
                startIndex++;
            }
            while (startIndex < fileNameWE.Length && fileNameWE[startIndex] == ' ')
            {
                startIndex++;
            }

            if (startIndex >= fileNameWE.Length)
            {
                return;
            }

            Name = FileNameWithoutExtension.Remove(0, startIndex).TrimStart(' ').TrimEnd(' ');
        }