private void GetFromEit(string filepath) { using (var process = new Process()) { try { process.StartInfo = new ProcessStartInfo { FileName = Util.file, Arguments = $"\"{filepath.Replace(".program.txt", "")}\" -cbidtpg -l 10", CreateNoWindow = true, UseShellExecute = false, RedirectStandardOutput = true, }; process.Start(); var infos = process.StandardOutput.ReadToEnd().Split(','); Company = infos[0].Normalize(NormalizationForm.FormKC); Title = infos[1]; Subtitle = infos[2]; var day = infos[3]; var starttime = infos[4]; var genres = infos[6].Split(' '); Length = TimeSpan.Parse(infos[5]); Starttime = DateTime.Parse(day + " " + starttime); Endtime = Starttime.Add(Length); Series = Regex.Replace(Title, flag + "|" + subtitleflag + "|" + tvIndex, ""); if (Series.Split(' ').Length > 1) { Series = Series.Split(' ')[0]; } else if (Series.Split(' ').Length > 1) { Series = Series.Split(' ')[0]; } var matche = Regex.Matches(Title, subtitleflag); foreach (Match ma in matche) { SeriesInfo.Add(ma.Value); } foreach (var genre in genres) { GenreIndex.Add(GenreIndexRet(genre)); Genre.Add(genre.Split(' ')[0]); } if (Regex.IsMatch(Title, tvIndex)) { var tvidex_mat = Regex.Match(Title, tvIndex); Epinum = int.Parse(tvidex_mat.Groups["index"].Value.Normalize(NormalizationForm.FormKC)); } else { Epinum = 0; } } catch { throw new AggregateException(); } } }
private void GetFromTxt(string filepath) { var file = File.ReadAllLines(filepath); var time = file[0]; Company = file[1].Normalize(NormalizationForm.FormKC); Title = file[2]; var timesprit = time.Split(' '); var day = Regex.Replace(timesprit[0], @"\([月|火|水|木|金|土|日]\)", ""); var time_sprit = timesprit[1].Split('~'); Starttime = DateTime.Parse(day + " " + time_sprit[0]); Endtime = DateTime.Parse(day + " " + time_sprit[1]); if (Endtime.CompareTo(Starttime) == -1) { Endtime = Endtime.AddDays(1); } Length = Endtime - Starttime; Series = Regex.Replace(Title, flag + "|" + subtitleflag + "|" + tvIndex, ""); if (Series.Split(' ').Length > 1) { Series = Series.Split(' ')[0]; } var matche = Regex.Matches(Title, subtitleflag); foreach (Match ma in matche) { SeriesInfo.Add(ma.Value); } var i = 4; while (file[i] != "") { Subtitle += "\n" + file[i]; i++; } var genreIndexCount = Array.IndexOf(file, "ジャンル : ") + 1; while (file[genreIndexCount] != "") { GenreIndex.Add(GenreIndexRet(file[genreIndexCount])); Genre.Add(file[genreIndexCount].Split(' ')[0]); genreIndexCount++; } if (Regex.IsMatch(Title, tvIndex)) { var tvidex_mat = Regex.Match(Title, tvIndex); Epinum = int.Parse(tvidex_mat.Groups["index"].Value.Normalize(NormalizationForm.FormKC)); } else { Epinum = 0; } }