Example #1
0
        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);
        }
Example #2
0
        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;
                    }
                }
            }
        }