public async Task DownloadAudioAync(Song song, string path, DownloadProgressChangedEventHandler ProgressChanged, AsyncCompletedEventHandler DownloadSongCallback)
 {
     try
     {
         WebClient Client = new WebClient();
         hashCodeConnection.Add(Client.GetHashCode(), song.GetHashCode());
         Client.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadSongCallback);
         Client.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadFileCallback);
         Client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
         await Client.DownloadFileTaskAsync(song.Uri, path);
     }
     catch
     { }
 }
Exemple #2
0
        private void download_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            if (cancelDl)
            {
                WebClient wc = (WebClient)sender;
                wc.CancelAsync();
                // Remove current download
                allDownloads.Remove(getDLfileFromHashCode(wc.GetHashCode()));
                cancelDl = allDownloads.Count != 0;
                return;
            }
            sum_current = 0;
            int hash = sender.GetHashCode();

            for (int i = 0; i < allDownloads.Count; i++)
            {
                DLFile download = allDownloads[i];
                if (download.hashCodeWC == hash)
                {
                    download.received = e.BytesReceived;
                    if (download.totalToreceive == 0)
                    {
                        download.totalToreceive = e.TotalBytesToReceive;
                        sum_total += download.totalToreceive;
                    }
                }
                sum_current += download.received;
            }
            try
            {
                double percentage = (100d * sum_current) / sum_total;
                progress.Value    = (int)(percentage * 100);
                percentLabel.Text = Math.Round(percentage, 2).ToString() + " %";
            }
            catch (Exception) { }
            finally
            {
                set_progressbar();
            }
        }
Exemple #3
0
        public static async void DownloadImageAsync(string link)
        {
            string format = Path.GetExtension(link);
            var    wc     = new WebClient();

            wc.DownloadFileCompleted += DownloadFileCompleted;
            Console.WriteLine(link);
            await wc.DownloadFileTaskAsync(link, $"Image {DateTimeOffset.Now.ToUnixTimeMilliseconds()+wc.GetHashCode()}{format}");
        }
Exemple #4
0
        private void startDL(string programFilename, string finallink, Branch branch, Version version)
        {
            //Check if DL folder exists
            try
            {
                Directory.CreateDirectory(dlFolder);
            }
            catch (Exception e)
            {
                dlFolder = Path.GetTempPath();
                exceptionmessage(e.Message);
            }
            //Start download
            WebClient wc               = getPreparedWebClient();
            Uri       uritofile        = new Uri(finallink + programFilename);
            string    originalFilename = programFilename;

            if (easyFilenames)
            {
                switch (version)
                {
                case Version.MAIN:
                    programFilename = main_easy;
                    break;

                case Version.HP:
                    programFilename = hp_easy;
                    break;

                case Version.SDK:
                    programFilename = sdk_easy;
                    break;
                }
                programFilename += originalFilename.EndsWith(".msi") ? ".msi" : ".exe";
            }
            if (dlFolder == null)
            {
                throw new MissingSettingException("Download path is not set");
            }
            string path        = Path.Combine(dlFolder, programFilename);
            string mb_question = getstring("versiondl");

            mb_question = mb_question.Replace("%version", originalFilename);
            // Start send stats
            if (MessageBox.Show(mb_question, getstring("startdl"), MessageBoxButtons.YesNo, MessageBoxIcon.Information) != DialogResult.Yes)
            {
                return;
            }
            switch (version)
            {
            case Version.HP:
                mainui.sendStats(languages.SelectedItem.ToString());
                break;

            case Version.SDK:
                mainui.sendStats("sdk");
                break;

            default:
                mainui.sendStats("");
                break;
            }
            mainui.sendStatsFilename(uritofile);
            // End send stats
            mainui.issueNotifyBallon(5000, getstring("dl_started_title"), getstring("dl_started"));
            wc.DownloadFileAsync(uritofile, path);
            DLFile download = new DLFile(path, version, wc.GetHashCode());

            allDownloads.Add(download);
            int k = 0;

            switch (branch)
            {
            case Branch.M:
                k = originalFilename.IndexOf('~');
                k = originalFilename.IndexOf('_', k + 1);
                originalFilename = originalFilename.Substring(0, k);
                break;

            default:
                k = originalFilename.IndexOf("_");
                originalFilename = originalFilename.Remove(0, k + 1);
                k = originalFilename.IndexOf("_");
                originalFilename = "LibreOffice " + originalFilename.Remove(k);
                break;
            }
            if (version == Version.MAIN)
            {
                mainui.setSubfolder(originalFilename);
            }
        }