Ejemplo n.º 1
0
        public void downloadThumbnails(downloadObject paynus)
        {
            WebClient wc = new WebClient();

            while (true)
            {
                try
                {
                    if (Settings.Default.Thumbnails == 0)
                    {
                        wc.DownloadFile("https://img.youtube.com/vi/" + paynus.id + "/0.jpg", paynus.downloadpath + "_thumb-1.jpg");
                        wc.DownloadFile("https://img.youtube.com/vi/" + paynus.id + "/1.jpg", paynus.downloadpath + "_thumb-2.jpg");
                        wc.DownloadFile("https://img.youtube.com/vi/" + paynus.id + "/2.jpg", paynus.downloadpath + "_thumb-3.jpg");
                        wc.DownloadFile("https://img.youtube.com/vi/" + paynus.id + "/3.jpg", paynus.downloadpath + "_thumb-4.jpg");
                    }
                    else if (Settings.Default.Thumbnails == 1)
                    {
                        wc.DownloadFile("https://img.youtube.com/vi/" + paynus.id + "/1.jpg", paynus.downloadpath + "_thumb-1.jpg");
                    }
                    else if (Settings.Default.Thumbnails == 2)
                    {
                        wc.DownloadFile("https://img.youtube.com/vi/" + paynus.id + "/0.jpg", paynus.downloadpath + "_thumb-1.jpg");
                    }
                }
                catch (WebException e)
                {
                    writeToLog(e.ToString());
                    continue;
                }

                break;
            }

            wc.Dispose();
        }
Ejemplo n.º 2
0
        public void downloadThumbnails(downloadObject paynus)
        {
            WebClient wc = new WebClient();

            while (true)
            {
                try
                {
                    if (Settings.Default.Thumbnails == 0)
                    {
                        wc.DownloadFile("https://img.youtube.com/vi/" + paynus.id + "/0.jpg", paynus.downloadpath + "_thumb-1.jpg");
                        wc.DownloadFile("https://img.youtube.com/vi/" + paynus.id + "/1.jpg", paynus.downloadpath + "_thumb-2.jpg");
                        wc.DownloadFile("https://img.youtube.com/vi/" + paynus.id + "/2.jpg", paynus.downloadpath + "_thumb-3.jpg");
                        wc.DownloadFile("https://img.youtube.com/vi/" + paynus.id + "/3.jpg", paynus.downloadpath + "_thumb-4.jpg");
                    }
                    else if (Settings.Default.Thumbnails == 1)
                    {
                        wc.DownloadFile("https://img.youtube.com/vi/" + paynus.id + "/1.jpg", paynus.downloadpath + "_thumb-1.jpg");
                    }
                    else if (Settings.Default.Thumbnails == 2)
                    {
                        wc.DownloadFile("https://img.youtube.com/vi/" + paynus.id + "/0.jpg", paynus.downloadpath + "_thumb-1.jpg");
                    }
                }
                catch (WebException e)
                {
                    writeToLog(e.ToString());
                    continue;
                }

                break;
            }

            wc.Dispose();
        }
Ejemplo n.º 3
0
        public void downloadAsync()
        {
            bool           success      = true;
            String         databasepath = Settings.Default.Path + "/downloaded";
            downloadObject paynus       = taargus;

            if ((currentlyDownloading.Contains(paynus.id) == false) && (currentlyDownloading.Count() < Settings.Default.MaxDownloads))
            {
                currentlyDownloading.Add(paynus.id);
                window.set_statusbar_text("Downloading " + currentlyDownloading.Count + " video(s).");
                WebClient wc = new WebClient();

                try
                {
                    // get content-length from headers
                    downloadThumbnails(paynus);
                    wc.DownloadFile(paynus.videourl, paynus.downloadpath);
                    Int64 vfsize = Convert.ToInt64(wc.ResponseHeaders["Content-Length"]);

                    // check file size
                    FileInfo f        = new FileInfo(paynus.downloadpath);
                    Int64    vdlfsize = f.Length;

                    if (vdlfsize < vfsize)
                    {
                        writeToLog("Filesize mismatch: YT=" + vfsize.ToString() + ", Local=" + vdlfsize.ToString());
                        currentlyDownloading.Remove(paynus.id);
                        success = false;
                    }

                    if (paynus.audiourl != null)
                    {
                        wc.DownloadFile(paynus.audiourl, paynus.downloadpath.Replace("mp4", "m4a"));
                        Int64 afsize = Convert.ToInt64(wc.ResponseHeaders["Content-Length"]);

                        FileInfo af       = new FileInfo(paynus.downloadpath.Replace("mp4", "m4a"));
                        Int64    adlfsize = af.Length;

                        if (adlfsize < afsize)
                        {
                            writeToLog("Filesize mismatch: YT=" + afsize.ToString() + ", Local=" + adlfsize.ToString());
                            currentlyDownloading.Remove(paynus.id);
                            success = false;
                        }
                        else
                        {
                            string cleanaudiopath = '"' + af.FullName + '"';
                            string cleanvideopath = '"' + f.FullName + '"';
                            System.Diagnostics.Process          process   = new System.Diagnostics.Process();
                            System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
                            startInfo.UseShellExecute = false;
                            startInfo.CreateNoWindow  = true;
                            startInfo.FileName        = "cmd.exe";
                            startInfo.Arguments       = "/c mp4box.exe -add " + cleanaudiopath + " " + cleanvideopath;
                            process.StartInfo         = startInfo;
                            process.Start();

                            Thread.Sleep(1000);
                            File.Delete(af.FullName);
                        }
                    }
                }
                catch (WebException e)
                {
                    writeToLog(e.ToString());
                    currentlyDownloading.Remove(paynus.id);
                    success = false;
                }

                wc.Dispose();

                if (success)
                {
                    while (true)
                    {
                        try
                        {
                            File.AppendAllText(databasepath, paynus.id + "\n");
                            break;
                        }
                        catch (IOException e)
                        {
                            continue;
                        }
                    }

                    currentlyDownloading.Remove(paynus.id);
                }

                if (currentlyDownloading.Count == 0)
                {
                    window.set_statusbar_text("Waiting " + Settings.Default.Delay.ToString() + " minute(s)...");
                }
                else
                {
                    window.set_statusbar_text("Downloading " + currentlyDownloading.Count + " video(s).");
                }
            }
        }