internal static bool DownloadSubtitleForVideoParent (string videoHash, string location, bool useSameFolder, string subtitlesFolder, bool isMovie, MainForm mainForm) { string subfilePathSrt; string subfilePathSub; string parentPath; mainForm.UpdateProgress ("Constructing subtitle path..."); var videoFilename = VideoSubtitleDownloaderHelpers .ConstructSubtitlePath (location, useSameFolder, subtitlesFolder, out subfilePathSrt, out subfilePathSub, out parentPath); mainForm.UpdateProgress ("Checking for existing subtitle..."); if (!VideoSubtitleDownloaderHelpers .CheckForExistingSubtitleSetHasSubtitleFlag (videoHash, parentPath, subfilePathSrt, subfilePathSub)) { return(false); } var subsDownloadResult = VideoSubtitleDownloaderHelpers .DownloadSubtitleForPrimaryOrSecondaryLanguage (videoHash, isMovie, videoFilename, parentPath, mainForm); VideoSubtitleDownloaderHelpers .DeleteSubtitleZipFile (videoHash, parentPath); return(subsDownloadResult); }
internal static bool GetSubtitleForVideo (string videoHash, string language, string parentPath, string videoFilename, bool isMovie, MainForm mainForm) { #region vars var webClient = new WebClient(); webClient.Headers.Add ("user-agent", "Mozilla/4.0" + " (compatible; MSIE 6.0;" + " Windows NT 5.2;" + " .NET CLR 1.0.3705;)"); string firstsub = string.Empty; var fz = new FastZip(); #endregion if (string.IsNullOrEmpty(parentPath)) { return(false); } if (!parentPath.EndsWith(@"\")) { parentPath += @"\"; } string zipfilePath = parentPath + videoHash + ".zip"; try { mainForm.UpdateProgress ("Searching OSDb for subtitle..."); firstsub = VideoSubtitleDownloaderHelpers .SearchForSubtitleByVideoHashParent (videoHash, language); mainForm.UpdateProgress ("Downloading subtitle..."); if (!VideoSubtitleDownloaderHelpers .PerformSubtitleDownload (zipfilePath, webClient, firstsub)) { return(false); } } catch (Exception e) { MessageBox.Show (@"An error occured while trying to download the subtitle on online address: " + firstsub + @" to local location: " + zipfilePath + @". The error was: " + e); return(false); } mainForm.UpdateProgress ("Validating downloaded data..."); if (!VideoSubtitleDownloaderHelpers .ValidateDownloadedDataAndRetry (language, firstsub, webClient, zipfilePath)) { return(false); } mainForm.UpdateProgress ("Extracting subtitle file..."); VideoSubtitleDownloaderHelpers .ExtractAndRenameSubtitle (language, parentPath, videoFilename, zipfilePath, fz); mainForm.UpdateProgress ("All Done! Bye bye..."); Thread.Sleep(2000); Application.Exit(); return(true); }