private bool DownLoad(Subinfo sub, int subIndex, SubLanguage lan) { WebClient client = new WebClient(); string dir = videoFile.DirectoryName; string subFileNameBase = Path.GetFileNameWithoutExtension(videoFile.FullName); Logger.Log(string.Format("Downloading {0} file", subIndex)); for (int j = 0; j < sub.Files.Length; ++j) { Console.WriteLine(sub.Files[j].Ext); Logger.Log(sub.Files[j].Ext); Console.WriteLine(sub.Files[j].Link); Logger.Log(sub.Files[j].Link); string subFileName = subFileNameBase + "." + lan.ToString().ToLower() + (subIndex == 0 ? "" : string.Format("{0}", subIndex)) + "." + sub.Files[j].Ext; try { client.DownloadFile(new Uri(sub.Files[j].Link), dir + Path.DirectorySeparatorChar + subFileName); if (sub.Delay != 0) { string delayFileName = subFileName + ".delay"; FileStream delayFile = new FileStream( dir + Path.DirectorySeparatorChar + delayFileName, FileMode.OpenOrCreate); StreamWriter sw = new StreamWriter(delayFile); sw.Write(sub.Delay); sw.Flush(); sw.Close(); delayFile.Close(); } } catch (Exception e) { Console.WriteLine("Caught exception while downloading."); Console.WriteLine(e.GetType().ToString()); Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); Logger.Log("Caught exception while downloading."); Logger.Log(e.GetType().ToString()); Logger.Log(e.Message); Logger.Log(e.StackTrace); return(false); } } return(true); }
private void getSubInfoFromShooterEntry(SubLanguage lan) { using (WebClient wb = new WebClient()) { var data = new NameValueCollection(); data["filehash"] = hashValue; data["pathinfo"] = videoFile.FullName; data["format"] = "json"; data["lang"] = lan.ToString(); var response = wb.UploadValues(url, "POST", data); string retString = Encoding.UTF8.GetString(response); Console.WriteLine(retString); Logger.Log(retString); if (!(response.Length == 1 && response[0] == 0xff)) { if (lan == SubLanguage.Chn) { subInfoChn = JsonHelper.FromJson <Subinfo[]>(retString); } else if (lan == SubLanguage.eng) { subInfoEng = JsonHelper.FromJson <Subinfo[]>(retString); } } else { if (lan == SubLanguage.Chn) { subInfoChn = null; } else if (lan == SubLanguage.eng) { subInfoEng = null; } } } }