public static string GetFolderPathByMPCtitle() { foreach (var d in Directory.GetDirectories(downloadPath)) { var dirName = new DirectoryInfo(d).Name; var dirNameCleaned = SeriesHelper.GetTitle(dirName); var showName = SeriesHelper.GetTitle(new MPC().FindProcessByName().MainWindowTitle); if (dirNameCleaned != null && dirNameCleaned.ToLower() == showName ) //TODO sorozat elnevezések ami nem (Title.SeasonEpisode.Coding-Releaser) alakuak nemjók ugye { return("egyezik"); } } return(""); }
public static void MoveSubtitleUp(string folderPath, string subFolderName, string filename, int season, int episode) { if (Directory.Exists(folderPath + "\\" + subFolderName)) { var directories = Directory.GetDirectories(folderPath + "\\" + subFolderName); DirectoryInfo d; FileInfo[] Subtitles; if (directories.Length != 0) { d = new DirectoryInfo(directories[0]); Subtitles = d.GetFiles("*.srt"); foreach (var subtitle in Subtitles) { var subtitleSeason = SeriesHelper.GetSeasonNumber(subtitle.ToString()); var subtitleEpisode = SeriesHelper.GetEpisodeNumber(subtitle.ToString()); if (subtitleSeason == season && episode == subtitleEpisode) { var subname = SubtitleFetcher.TrimFileName(filename); File.Move(subtitle.FullName, folderPath + "\\" + filename + ".srt"); } } } else { d = new DirectoryInfo(folderPath + "\\" + subFolderName); Subtitles = d.GetFiles("*.srt"); foreach (var subtitle in Subtitles) { var subtitleSeason = SeriesHelper.GetSeasonNumber(subtitle.ToString()); var subtitleEpisode = SeriesHelper.GetEpisodeNumber(subtitle.ToString()); if (subtitleSeason == season && episode == subtitleEpisode) { var subname = SubtitleFetcher.TrimFileName(filename); File.Move(subtitle.FullName, folderPath + "\\" + filename + ".srt"); } } } } }
public static bool IsThereSubtitles(string folderPath, string showName, int episodeNum, int seasonNum) { showName = SubtitleFetcher.TrimFileName(showName).ToLower(); var fileArray = Directory.GetFiles(folderPath, "*.srt"); foreach (var file1 in fileArray) { var file = SubtitleFetcher.TrimFileName(file1).ToLower(); var downloadedSubSeason = SeriesHelper.GetSeasonNumber(file); var downloadedSubEpisode = SeriesHelper.GetEpisodeNumber(file); var downloadedSubName = SeriesHelper.GetTitle(file); if (downloadedSubSeason == seasonNum && downloadedSubEpisode == episodeNum && downloadedSubName == showName) { return(true); } } return(false); }
private async void MniTvdbSearch_Click(object sender, EventArgs e) { var folder = tvwFolder.SelectedNode.Tag.ToString(); var seriesName = new DirectoryInfo(folder).Name; using (var search = new SearchForm(_tvdb, seriesName)) { if (search.ShowDialog() == DialogResult.OK) { //create files await SeriesHelper.GetSeriesInfo(_tvdb, folder, search.TvdbId, false); //override selected poster var posterFile = Path.Combine(folder, "folder.jpg"); var image = ImageHelper.ReduceImageSize(search.Poster); File.WriteAllBytes(posterFile, image); LoadAllFiles(folder); tvwFolder.SelectedNode.ImageKey = HAS_ID_KEY; tvwFolder.SelectedNode.SelectedImageKey = HAS_ID_KEY; } } }
public async Task <bool> RecognizeMedia(Process playerProcess) { var name = SeriesHelper.GetTitle(playerProcess.MainWindowTitle); var MediaExistInMongo = await SeriesHelper.Parse(name); switch (MediaExistInMongo) { case -1: return(false); //EKKOR NINCS ILYEN SOROZAT case 1: //var s = await SeriesHelper.GetShow(name); var imr = new InternalMarkRequest { ShowName = name, SeasonNumber = SeriesHelper.GetSeasonNumber(playerProcess.MainWindowTitle), EpisodeNumber = SeriesHelper.GetEpisodeNumber(playerProcess.MainWindowTitle) }; await SeriesHelper.MarkRequest(imr); break; case 2: case 3: await SeriesHelper.ImportRequest(name); break; case -2: return(false); //EKKOR REQUEST HIBA VOLT default: return(false); } return(false); }
public async void Initial() { string playUrl = await SeriesHelper.GetPlayURL(url, num, PlayType.m3u8); mediaHnaju.Source = new Uri(playUrl); }
public static bool FindForExactMatch(List <HtmlNode> subtitlesHtmlList, SubtitleModel subtitleModel, string url, string folderPath, string filename) { //S01-02 nélkül keresünk if (Directory.Exists(folderPath + "\\" + subFolderName)) { MoveSubtitleUp(folderPath, subFolderName, filename, subtitleModel.SeasonNumber, subtitleModel.EpisodeNumber); return(true); } CheckIfSingleSubAlreadyDownloaded(folderPath, filename); var magyarXPath = "//div[@class=\'magyar\']"; var originalXPath = "//div[@class=\'eredeti\']"; var downloadXPath = "//td[@align=\'center\']/a[@href]"; var htmlDocument = new HtmlDocument(); foreach (var subtitleHtml in subtitlesHtmlList) { htmlDocument.LoadHtml(subtitleHtml.InnerHtml); var magyarNode = htmlDocument.DocumentNode.SelectSingleNode(magyarXPath); var originalNode = htmlDocument.DocumentNode.SelectSingleNode(originalXPath); var EpisodeFromFeliratokInfo = string.Empty; var SeasonFromFeliratokInfo = string.Empty; //A felsőben csak egy kötőjel, megnézi a SOROZATxEPIZÓD stílust, és a leírásos (Season X) stílust is if (magyarNode.InnerText == "-") { EpisodeFromFeliratokInfo = SeriesHelper.GetEpisodeFromFeliratokInfo1x2(originalNode.InnerText); SeasonFromFeliratokInfo = SeriesHelper.GetSeasonFromFeliratokInfo1x2(originalNode.InnerText); if (EpisodeFromFeliratokInfo.Length != 0 && SeasonFromFeliratokInfo.Length != 0 && CheckMatching(subtitleModel, SeasonFromFeliratokInfo, EpisodeFromFeliratokInfo, originalNode)) { return(Download(htmlDocument, downloadXPath, url, folderPath, filename, subtitleModel, true)); } if (SeasonFromFeliratokInfo.Length == 0) { EpisodeFromFeliratokInfo = subtitleModel.EpisodeNumber.ToString(); //beállítom, hogy a check ne dobjon hibát SeasonFromFeliratokInfo = SeriesHelper.GetSeasonFromFeliratokInfoThird(originalNode.InnerText).ToString(); if (SeasonFromFeliratokInfo.Length != 0 && CheckMatching(subtitleModel, SeasonFromFeliratokInfo, EpisodeFromFeliratokInfo, originalNode)) { return(Download(htmlDocument, downloadXPath, url, folderPath, filename, subtitleModel, false)); } } } //Évadpakk //Ekkor van sima neve(felsőben), ezért ráapplikálom a (8. évad) stílust a felsőre, //az alsóra meg a (Season 8) félét ha nincs a felsőben találat SeasonFromFeliratokInfo = SeriesHelper.GetSeasonFromFeliratokInfoEvad(magyarNode.InnerText).ToString(); if (int.Parse(SeasonFromFeliratokInfo) != -1) { EpisodeFromFeliratokInfo = subtitleModel.EpisodeNumber.ToString(); //beállítom, hogy a check ne dobjon hibát var seasonOnSite = SeriesHelper.GetSeasonFromFeliratokInfoThird(originalNode.InnerText); if (seasonOnSite == subtitleModel.SeasonNumber && CheckMatching(subtitleModel, SeasonFromFeliratokInfo, EpisodeFromFeliratokInfo, originalNode)) { return(Download(htmlDocument, downloadXPath, url, folderPath, filename, subtitleModel, false)); } } else { SeasonFromFeliratokInfo = SeriesHelper.GetSeasonFromFeliratokInfoThird(originalNode.InnerText) .ToString(); if (int.Parse(SeasonFromFeliratokInfo) != -1) { EpisodeFromFeliratokInfo = subtitleModel.EpisodeNumber.ToString(); //beállítom, hogy a check ne dobjon hibát if (CheckMatching(subtitleModel, SeasonFromFeliratokInfo, EpisodeFromFeliratokInfo, originalNode)) { return(Download(htmlDocument, downloadXPath, url, folderPath, filename, subtitleModel, false)); } } } //PONTOS EGYEZÉS if (EpisodeFromFeliratokInfo.Length == 0 || SeasonFromFeliratokInfo.Length == 0 || SeasonFromFeliratokInfo.Length == -1) { EpisodeFromFeliratokInfo = SeriesHelper.GetEpisodeFromFeliratokInfo1x2(originalNode.InnerText); SeasonFromFeliratokInfo = SeriesHelper.GetSeasonFromFeliratokInfo1x2(originalNode.InnerText); if (SeasonFromFeliratokInfo.Length == 0) { EpisodeFromFeliratokInfo = subtitleModel.EpisodeNumber.ToString(); SeasonFromFeliratokInfo = SeriesHelper.GetSeasonFromFeliratokInfoThird(originalNode.InnerText) .ToString(); } if (CheckMatching(subtitleModel, SeasonFromFeliratokInfo, EpisodeFromFeliratokInfo, originalNode)) { return(Download(htmlDocument, downloadXPath, url, folderPath, filename, subtitleModel, true)); } } } return(false); }
//- #OnLoad -// protected override void OnLoad(EventArgs e) { List <BlogEntry> blogEntryList = this.DataSource; if (this.AccessType != AccessType.Index) { //+ were there any entries at all? if (blogEntryList == null || blogEntryList.Count < 1) { rptPosts.Visible = false; phNoEntries.Visible = true; litNoEntriesMessage.Text = BlogSection.GetConfigSection().Display.BlankMessage; } else { rptPosts.DataSource = blogEntryList.Select(p => new { Url = Themelia.Web.WebDomain.GetUrl() + Themelia.Web.UrlCleaner.FixWebPathHead(p.MappingNameList.First()), // BlogEntryHelper.BuildBlogEntryLink(p.PostDateTime, p.MappingNameList.First(), Themelia.Web.WebDomain.Current), Content = this.CodeParserSeries.ParseCode(p.Content), Title = p.Title, AuthorList = p.AuthorList, AllowCommentStatus = p.AllowCommentStatus, CommentList = p.CommentList, Guid = p.Guid, LabelList = p.LabelList, AuthorSeries = SeriesHelper.GetBlogEntryAuthorSeries(p), LabelSeries = SeriesHelper.GetBlogEntryLabelSeries(p), ViewableCommentCount = p.CommentList != null ? p.CommentList.Count : 0, DateTimeString = String.Format("{0}, {1} {2}, {3}", p.PostDateTime.DayOfWeek, p.PostDateTime.ToString("MMMM"), p.PostDateTime.Day, p.PostDateTime.Year), DateTimeDisplay = String.Format("{0}/{1}/{2} {3}", p.PostDateTime.Month, p.PostDateTime.Day, p.PostDateTime.Year, p.PostDateTime.ToShortTimeString()) }); rptPosts.DataBind(); //+ if (this.AccessType == AccessType.Link && this.SupportCommenting) { BlogEntry blogEntry = blogEntryList[0]; if (blogEntry.AllowCommentStatus == AllowCommentStatus.Disabled) { mvCommentContent.SetActiveView(vCommentsDisabled); } else { mvCommentContent.SetActiveView(vShowComments); List <Comment> commentList = CommentAgent.GetCommentList(this.BlogEntryGuid, false); if (commentList.Count > 0) { htmlCommentListHeader.Visible = true; litCommentCount.Text = commentList.Count.ToString(); } rptComments.DataSource = commentList; rptComments.DataBind(); //+ CommentInputBase commentInput = vCommentForm.FindControl("CommentInput") as CommentInputBase; if (commentInput != null) { HiddenField hfBlogEntryGuid = commentInput.FindControl("hfBlogEntryGuid") as HiddenField; if (hfBlogEntryGuid != null) { hfBlogEntryGuid.Value = this.BlogEntryGuid; } } //+ if (blogEntry.AllowCommentStatus == AllowCommentStatus.Closed) { mvCommentInput.SetActiveView(vCommentClosed); } else { mvCommentInput.SetActiveView(vCommentForm); } } } } } //+ SetPageTitle(); //+ base.OnLoad(e); }
//+ //- #OnPreRender -// protected override void OnPreRender(EventArgs e) { Minima.Service.BlogEntry blogEntry = null; if (!String.IsNullOrEmpty(this.BlogEntryGuid)) { blogEntry = BlogAgent.GetSingleBlogEntry(this.BlogEntryGuid, this.IgnoreBlogEntryFooter); } else { String blogGuid = this.BlogGuid; if (String.IsNullOrEmpty(blogGuid)) { blogGuid = Themelia.Web.HttpData.GetScopedItem <String>(Info.Scope, Info.BlogGuid); } //+ if (!String.IsNullOrEmpty(this.Link)) { blogEntry = BlogAgent.GetSingleBlogEntryByLink(blogGuid, this.Link, this.IgnoreBlogEntryFooter); } } if (blogEntry != null) { String labelSeries = SeriesHelper.GetBlogEntryLabelSeries(blogEntry); Template template = DataTemplateTemplateFactory.CreatePostTemplate(false, this.HidePostDateTime, this.ShowAuthorSeries, this.ShowLabelSeries, labelSeries, true, false, Minima.Service.AllowCommentStatus.Disabled, false, String.Empty); String output = template.Interpolate(new Map( new MapEntry("$Title$", blogEntry.Title), new MapEntry("$DateTimeString$", String.Format("{0}, {1} {2}, {3}", blogEntry.PostDateTime.DayOfWeek, blogEntry.PostDateTime.ToString("MMMM"), blogEntry.PostDateTime.Day, blogEntry.PostDateTime.Year)), new MapEntry("$Content$", blogEntry.Content), new MapEntry("$AuthorSeries$", SeriesHelper.GetBlogEntryAuthorSeries(blogEntry)), new MapEntry("$DateTimeDisplay$", String.Format("{0}/{1}/{2} {3}", blogEntry.PostDateTime.Month, blogEntry.PostDateTime.Day, blogEntry.PostDateTime.Year, blogEntry.PostDateTime.ToShortTimeString())), new MapEntry("$LabelSeries$", labelSeries) ) ); output = this.CodeParserSeries.ParseCode(output); //+ this.Controls.Add(new System.Web.UI.WebControls.Literal { Text = output }); //+ HttpData.SetScopedItem("MinimaBlogEntry", "Title", blogEntry.Title); } //+ base.OnPreRender(e); }
public void Series() { var trans = SeriesHelper.GetSeries("18"); }
public bool IsItASeries(string title) { return(SeriesHelper.DoesItContainSeasonAndEpisode(title)); }